Макросы. Проверка орфографии в excel.

Макрос для проверки орфографии в Excel.

Для проверки, нажмите два раза на левую клавишу мыши в любой ячейке, слова с ошибками окрасятся в красный цвет. После исправления еще раз нажмите два раза на левую клавишу мыши и в случае правильного исправления, слова с ошибками вновь окраситься в черный цвет. Скачать файл можно после перевода на содержание и развитие сайта.


Вот пример:


Как всегда повествование. Создадим Модуль (кто не знает - обращаемся к Введению) 
и вставим макрос..

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. Использовать лучше макрос. Функция работает не корректно.