Для проверки, нажмите два раза на левую клавишу мыши в любой ячейке, слова с ошибками окрасятся в красный цвет. После исправления еще раз нажмите два раза на левую клавишу мыши и в случае правильного исправления, слова с ошибками вновь окраситься в черный цвет. Скачать файл можно после перевода на содержание и развитие сайта.
Вот пример:
Как всегда повествование. Создадим Модуль (кто не знает - обращаемся к Введению) и вставим макрос.. Sub ORFO(Str As Long, Stlb As Long) 'Определим строку j = 1 For i = 1 To Len(Cells(Str, Stlb).Value) If i + 1 > Len(Cells(Str, Stlb).Value) Then If Application.CheckSpelling(Mid(Cells(Str, Stlb).Value, j, i - j + 1)) = False Then 'Выделим Cells(Str, Stlb).Characters(Start:=j, Length:=(i - j + 1)).Font.Color = -16777024 Else 'Восстановим цвет Cells(Str, Stlb).Characters(Start:=j, Length:=(i - j + 1)).Font.Color = 0 End If Else If Mid(Cells(Str, Stlb).Value, i + 1, 1) = " " Or _ Asc(Mid(Cells(Str, Stlb).Value, i + 1, 1)) = 10 Or (i = Len(Cells(Str, Stlb).Value) And j = 1) _ Then If Application.CheckSpelling(Mid(Cells(Str, Stlb).Value, j, i - j + 1)) = False Then 'Выделим Cells(Str, Stlb).Characters(Start:=j, Length:=(i - j + 1)).Font.Color = -16777024 Else 'Восстановим цвет Cells(Str, Stlb).Characters(Start:=j, Length:=(i - j + 1)).Font.Color = 0 End If j = i + 2 End If End If Next i End Sub Ну и пропишем событие, например: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Call ORFO(ActiveCell.Row, ActiveCell.Column) End Sub
P.S. Использовать лучше макрос. Функция работает не корректно.