Excel vba проверка орфографии

Excel can spell check, but it’s not as capable as the spell check in Word, nor is it automatic. Using VBA, you can automate the spell-checking process in your workbooks. In this guide, we’re going to show you how to spell check using VBA in Excel.

Download Workbook

Spell checking in Excel

Excel’s spell checking is a bit different than Word’s. It does not underline the misspelled words or check grammar as you type. You need to run spell check manually unless you automate it using VBA.

There are two ways to manual spell check in Excel:

  • Pressing the F7 key or
  • Clicking Spelling in Review tab of the Ribbon

Excel will show the Spelling dialog if there is a misspelled value inside a cell.

You can use the buttons to ignore or correct the spelling or add the word into the dictionary to remove warnings.

Spell check using VBA in Excel

VBA has a dedicated method for spell checking: CheckSpelling

However, how the CheckSpelling method works differs according to the parent item you call it for. You can call the method either for a range object (cell, range of cells or a worksheet), or the application object.

Range object

The CheckSpelling method under a range object displays the Spelling dialog box for the spelling errors in the context range.

expression.CheckSpelling (CustomDictionary, IgnoreUppercase, AlwaysSuggest, SpellLang)

You can use any range object for expression. Such as the following line checks the content of the specified cells in the range object.

Sub SpellCheckInSpecificCells()
    Range("C7,E9").CheckSpelling
End Sub

Use Selection object to create a reference to the select cell or range.

Sub SpellCheckInSelectedCells()
    Selection.CheckSpelling
End Sub

You can use any valid range reference to run the spell checking. You can learn more about references in VBA, check out How to refer a range or a cell in Excel VBA.

If you want to spell-check the entire sheet, including parts like header and footer, use a worksheet object instead. For example, use the following code to test the active worksheet.

Sub SpellCheckInActiveSheet()
    ActiveSheet.CheckSpelling
End Sub

To test a specific sheet, use either the name of the sheet or the index with a Worksheets or Sheets object.

Sub SpellCheckInSpecificSheets()
    Worksheets("Spell checking").CheckSpelling
    Worksheets(1).CheckSpelling
End Sub

Application.CheckSpelling method

The CheckSpelling method of the Application object returns a Boolean, (True/False) value instead of showing the Spelling dialog box.

Application.CheckSpelling (Word, CustomDictionary, IgnoreUppercase)

The result will be a spelling error, the method returns True. Another difference from the Range alternative is the argument requirement. You must supply the text to the method as a parameter.

This capability allows you to create scenarios like highlighting misspelled cells: How to highlight misspelled cells in Excel using VBA

I have scoured the Internet and I have found a handful of possible solutions to this issue, but I wanted to ask here as well.

The goal is to click a button, and spell check an entire sheet.

Here’s some code

Sub spellCheck()

Sheet1.Cells.CheckSpelling
End Sub

Also, I found this:

Sub SpellCheck()
Dim Checkword As String, Result As Boolean
Checkword = Selection.Value
Result = Application.CheckSpelling(Checkword)
Selection.Offset(0, 1) = Result
End Sub

Any ideas? Neither is working for me. Thanks!

asked Aug 21, 2012 at 14:46

STANGMMX's user avatar

2

You can check the whole workbook by doing something like:

Sub SpellCheck()

For Each sh In Worksheets
    Sheets(sh.Name).Cells.CheckSpelling
Next

End Sub

this will cycle through each sheet in the entire book and run a spellcheck on each one. What I can’t figure out yet is how to make the spell checker actually move to the position of the spelling error. So, with the above you just get a list of spelling errors with no context with which to asses them.

answered Apr 11, 2014 at 8:55

CaptElmo's user avatar

I noticed I just had a typo in my code.

Below works:

Sub spellCheck()

Sheet1.Cells.CheckSpelling

End Sub

But, if anyone knows how to do the entire workbook, I’d be interested in that. Thanks.

answered Aug 21, 2012 at 14:50

STANGMMX's user avatar

STANGMMXSTANGMMX

9737 gold badges18 silver badges31 bronze badges

1

This code will work on selected cells .This will highlight if any spell mistakes in a cell

Dim Myrange As Range
Selection.SpecialCells(xlVisible).Select
For Each Myrange In Selection
    If Application.CheckSpelling(word:=Myrange.Value) = False Then
    Myrange.Font.Color = vbRed
    End If
Next

answered Apr 11, 2014 at 9:52

Sathish Kothandam's user avatar

OK, so you can use the following command to invoke the toolbar’s spellchecker which does move you to the position of the spelling error as long as you have screen updating enabled at the time.

Application.CommandBars("Tools").Controls("Spelling...").Execute

You can use this command embedded in the loop above to loop through the sheets in the workbook and invoke this command on each new sheet.

Cap

answered Apr 11, 2014 at 9:07

CaptElmo's user avatar

This uses a code snippet from a previous answer to restrict the area used for spellchecking to a specific region. Something I needed to do in a small project. This give the full functionallity of the spellchecker with errors shown in context. The rowNumber is calculated elsewhere.The selection range can be fully controlled elsewhere in your code to suit your particular need. Thought this might help others searching this posting.

 With Sheets("Sheet1")
    slic = CStr(rowNumber)
    .Range("AL3:AN" & slic).Select   
    Application.CommandBars("Tools").Controls("Spelling...").Execute
End With

Thanks to previous posters this solved a problem form me. I am most grateful.

answered May 4, 2014 at 2:07

Tim Cox's user avatar

Как применить проверку орфографии в текстовом поле?

Мы можем легко применить функцию проверки орфографии для проверки орфографии текстовой строки из ячейки, но эта функция не применяется к текстовому полю для проверки орфографии. В этой статье я расскажу о том, как применить проверку орфографии в текстовом поле.

Применить проверку орфографии в текстовом поле с кодом VBA


стрелка синий правый пузырь Применить проверку орфографии в текстовом поле с кодом VBA

Чтобы проверить правописание текстовой строки в текстовом поле, приведенный ниже код VBA может оказать вам услугу:

1. Сначала вставьте текстовое поле, нажав Застройщик > Вставить > Текстовое поле (элемент управления ActiveX), и перетащите, чтобы нарисовать текстовое поле, см. снимок экрана:

проверка орфографии текстового поля документа 1

2. Затем выйдите из Режим проектирования чтобы ввести текстовую строку в текстовое поле по мере необходимости, после ввода текста включите Режим проектирования, и щелкните правой кнопкой мыши текстовое поле, чтобы выбрать Просмотреть код из контекстного меню см. снимок экрана:

проверка орфографии текстового поля документа 2

3. В открытом Microsoft Visual Basic для приложений окна, замените исходный код на следующий код VBA в Module.

Код VBA: применить проверку орфографии в текстовом поле:

Sub SpellChkRvw_Click()
    Dim xObject As Object
    Dim xCell As Range
    On Error Resume Next
    Set xCell = ActiveSheet.Cells(ActiveSheet.Rows.Count, ActiveSheet.Columns.Count)
    If ActiveSheet.OLEObjects.Count > 0 Then
        For Each xObject In ActiveSheet.OLEObjects
            xCell = xObject.Object.Text
            xCell.CheckSpelling , , , 1033
            xObject.Object.Text = xCell
        Next
    End If
End Sub

4, Затем нажмите F5 ключ для запуска этого кода, Орфография диалоговое окно активируется сразу, тогда вы можете использовать Орфография функция для проверки правописания текста в текстовом поле, как показано на следующем снимке экрана:

проверка орфографии текстового поля документа 3


Статьи по теме:

Как изменить цвет текстового поля в зависимости от значения в Excel?

Как вставить картинку в текстовое поле?

Как установить значение по умолчанию в текстовом поле?

Как разрешить ввод только чисел в текстовое поле?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (3)


Оценок пока нет. Оцените первым!

На чтение 6 мин. Просмотров 466 Опубликовано 09.01.2021

В этом руководстве будет показано, как использовать проверку орфографии в Excel и VBA.

В этой статье

  • Проверка орфографии в Excel
  • Как использовать проверку орфографии в Microsoft Excel
  • Сочетания клавиш для проверки орфографии в Microsoft Excel
  • Как проверить орфографию сразу на нескольких (или всех) листах
  • Как проверить орфографию с помощью VBA
    • Запустить проверку орфографии из VBA
    • Проверка орфографии перед закрытием книги (VBA BeforeClose)
    • Выделение слов с ошибками с помощью макроса VBA
  • Простое кодирование на VBA

Содержание

  1. Проверка орфографии в Excel
  2. Как использовать проверку орфографии в Microsoft Excel
  3. Сочетания клавиш для проверки орфографии в Microsoft Excel
  4. Как проверить орфографию на нескольких (или всех) листах одновременно
  5. Как проверить орфографию с помощью VBA
  6. Запуск проверки орфографии из VBA
  7. Проверка орфографии перед закрытием книги (VBA BeforeClose)
  8. Выделение слов с ошибками с помощью макроса VBA
  9. Простое программирование на VBA

Проверка орфографии в Excel

Microsoft Excel предлагает базовую функцию проверки орфографии, которая может помочь вам проверить орфографию в любой создаваемой вами электронной таблице. Эта функция очень ограничена по сравнению с функцией проверки орфографии в Microsoft Word или Microsoft PowerPoint. Функция проверки орфографии Microsoft Word и Microsoft PowerPoint подчеркивает слова с ошибками во время написания, в то время как функция проверки орфографии Microsoft Excel этого не делает. Функция в Microsoft Excel уведомит вас о словах с ошибками, только если вы запустите функцию проверки орфографии. Кроме того, он не выявляет грамматические ошибки.

Как использовать проверку орфографии в Microsoft Excel

Проверить орфографию в Microsoft Excel очень просто:

1. Перейдите на вкладку «Обзор» на ленте в электронной таблице Excel.
2. На вкладке «Проверка» активируйте параметр «Орфография» (находится слева), чтобы проверить правописание на листе (или используйте сочетания клавиш ALT> R> S или F7, чтобы активировать проверку орфографии).

3. После запуска проверки орфографии появится диалоговое окно проверки орфографии (показано ниже).

Очень важно понимать различные параметры, доступные в этом диалоговом окне. Вот краткие определения каждой из доступных опций:

Игнорировать один раз : этот параметр позволяет один раз проигнорировать предложение об ошибке проверки орфографии для слова.
Игнорировать все : этот параметр позволяет игнорировать предложение об ошибке проверки орфографии для слова в электронной таблице на неопределенное время.
Добавить : Эта опция позволяет вам добавить слово, которое проверка орфографии считает ошибкой, в словарь Microsoft Excel, если это слово используется правильно. Это сделает слово приемлемым в Microsoft Excel и больше не будет считаться ошибкой проверки орфографии.
Изменить : этот параметр позволяет выбрать вариант ошибки проверки орфографии. для автоматического исправления слова с ошибкой. Для слова с ошибкой может быть несколько вариантов. Выберите предложение, которое вы хотите применить.
Изменить все : этот параметр позволяет вам изменить все ошибки проверки орфографии, которые применяются к одному и тому же слову с ошибкой с выбранным предложением на ваш выбор.

Автозамена : этот параметр заменяет слово с ошибкой выбранным вами предложением и добавляет его в список автозамены. Это позволяет Excel автоматически исправлять то же слово с ошибкой в ​​выбранном предложении.

В диалоговом окне «Проверка орфографии» отображаются предложения по словам с ошибками. Нажатие кнопки “Изменить” автоматически исправит орфографию.

Вы также можете проигнорируйте предложенные вам предложения, просто нажав кнопку «Игнорировать один раз» или «Игнорировать все».
После завершения проверки орфографии вы получите уведомление:

Сочетания клавиш для проверки орфографии в Microsoft Excel

Нажмите F7, чтобы запустить функцию проверки орфографии. Как вариант, вы можете использовать сочетание клавиш ALT Alt> R> S.

Как проверить орфографию на нескольких (или всех) листах одновременно

Функция проверки орфографии применяется только к активной электронной таблице. Однако есть способ, которым вы можете воспользоваться, чтобы применить функцию проверки орфографии сразу к нескольким листам:

Щелкните правой кнопкой мыши имя вашей активной электронной таблицы.
A появится меню с опцией «Выбрать все листы».
Нажмите «Выбрать все листы»

Нажав« Выбрать все листы », вы группируете электронные таблицы в одну, чтобы запустить функцию проверки орфографии на всех листах в книге.

Вместо использования «Выбрать все листы» вы также можете удерживать клавиши CTRL и/или SHIFT, чтобы вручную выбрать несколько вкладок листа для проверки орфографии на нескольких листах одновременно. Затем активация проверки орфографии устранит ошибки проверки орфографии, обнаруженные на первом листе слева направо.

После завершения вы получите уведомление:

Как проверить орфографию с помощью VBA

Хотя основной функцией Excel не является обработка текста, многие таблицы могут накапливаться большой объем текста и проверка орфографии на листе – это обычно последнее, о чем люди думают.

Если ваши электронные таблицы попадают в эту категорию, вы можете попробовать несколько творческих способов запустить программу Excel «SpellChecker» ”Из кода в качестве мягкого напоминания.

Запуск проверки орфографии из VBA

Синтаксис для запуска диалогового окна проверки орфографии с использованием настроек по умолчанию:

sheet1.cells. CheckSpelling

Проверка орфографии перед закрытием книги (VBA BeforeClose)

Ниже приведен пример кода для запуска диалогового окна проверки орфографии перед закрытием книги, но перед запросом на сохранение . Выражение сообщает VBA о необходимости проверки орфографии во всех ячейках Sheet1. Чтобы код работал, вы должны поместить его в окно кода ThisWorkbook в VBA.

Private Sub Workbook_BeforeClose (Cancel As Boolean)

Sheet1.Cells.CheckSpelling

End Sub

Выделение слов с ошибками с помощью макроса VBA

В начале этого руководства мы упоминали, что, в отличие от Word и PowerPoint, Excel не подчеркивает слова с ошибками во время работы. Вместо этого вы должны запустить проверку орфографии вручную. Однако вы можете создать макрос, который выделяет все ячейки, содержащие слова с ошибками:

Sub Highlight_Misspelled_Words ()

Уменьшить размер ячейки как диапазон

Для каждой ячейки в ActiveSheet.UsedRange

Если не Application.CheckSpelling (Word: = cell.Text) Затем ячейка. Interior.ColorIndex = 6

Next

End Sub

При этом не будут автоматически выделяться ячейки с ошибками во время работы. Однако вы можете запрограммировать его на запуск по таймеру или до закрытия книги.

Простое программирование на VBA

Прекратить поиск кода VBA в Интернете. Узнайте больше об AutoMacro – конструкторе кода VBA, который позволяет новичкам кодировать процедуры с нуля с минимальными знаниями кодирования и множеством функций, позволяющих сэкономить время для всех пользователей!

Прекратить поиск кода VBA в Интернете. Попробуйте надстройку Code VBA…

[convertkit form = 4869294]

Считаете ли вы это руководство полезным? Затем поделитесь им с друзьями и коллегами:

Хотя основная функция Excel — это не обработка текста, многие электронные таблицы могут накапливать большой объем текста, и проверка орфографии на листе — это обычно последнее, о чем люди думают.

Если ваши электронные таблицы попадают в эту категорию, вы можете попробовать несколько творческих способов запустить программу проверки правописания Excel из кода в качестве мягкого напоминания.

Запустить проверку орфографии

Синтаксис для запуска диалогового окна Spelling с настройками по умолчанию:

выражение — это ссылка на диапазон или объект, орфографию которого нужно проверить.

Ниже приведен пример кода для запуска диалогового окна «Правописание» перед закрытием книги, но перед запросом на сохранение. Выражение сообщает VBA о необходимости проверки орфографии во всех ячейках Sheet1. Чтобы код работал, вы должны поместить его в окно кода ThisWorkbook в VBA.

123456 Private Sub Workbook_BeforeClose (Отменить как логическое)Sheet1.Cells.CheckSpellingКонец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

Понравилась статья? Поделить с друзьями:
  • Excel vba проверить существование папки
  • Excel vba проверить содержимое ячейки
  • Excel vba проверить есть ли лист с именем
  • Excel vba присвоить ячейке формулу
  • Excel vba присвоить значение массиву