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
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
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
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
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
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
Как применить проверку орфографии в текстовом поле?
Мы можем легко применить функцию проверки орфографии для проверки орфографии текстовой строки из ячейки, но эта функция не применяется к текстовому полю для проверки орфографии. В этой статье я расскажу о том, как применить проверку орфографии в текстовом поле.
Применить проверку орфографии в текстовом поле с кодом VBA
Применить проверку орфографии в текстовом поле с кодом VBA
Чтобы проверить правописание текстовой строки в текстовом поле, приведенный ниже код VBA может оказать вам услугу:
1. Сначала вставьте текстовое поле, нажав Застройщик > Вставить > Текстовое поле (элемент управления ActiveX), и перетащите, чтобы нарисовать текстовое поле, см. снимок экрана:
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 ключ для запуска этого кода, Орфография диалоговое окно активируется сразу, тогда вы можете использовать Орфография функция для проверки правописания текста в текстовом поле, как показано на следующем снимке экрана:
Статьи по теме:
Как изменить цвет текстового поля в зависимости от значения в Excel?
Как вставить картинку в текстовое поле?
Как установить значение по умолчанию в текстовом поле?
Как разрешить ввод только чисел в текстовое поле?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка 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
Содержание
- Проверка орфографии в Excel
- Как использовать проверку орфографии в Microsoft Excel
- Сочетания клавиш для проверки орфографии в Microsoft Excel
- Как проверить орфографию на нескольких (или всех) листах одновременно
- Как проверить орфографию с помощью VBA
- Запуск проверки орфографии из VBA
- Проверка орфографии перед закрытием книги (VBA BeforeClose)
- Выделение слов с ошибками с помощью макроса VBA
- Простое программирование на 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Конец подписки |