Страницы: 1
RSS
подсветить слова с ошибкой
 
Добрый день!
Нашел макрос ORFO который при изменении ячейки проверяет орфографию, но не могу переделать его чтобы при запуске либо запрашивал выделить диапазон ячеек, либо проверял выделенный диапазон скажем A5:А29.
Код
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_Change(ByVal Target As Range)
Call ORFO(Target.Row, Target.Column)
End Sub
 
перебрать ячейки в выбранном диапазоне
если я понял вопрос
это по кнопке
Код
Sub проверить_диапазон()
    Dim cel As Range
    For Each cel In Selection.Cells
        ORFO CLng(cel.Row), CLng(cel.Column)
    Next
End Sub
 
Цитата
написал:
CLng(cel.Row)
Ну преобразовывать Long в Long может и не нужно? ;)  
 
Апострофф, чисто на всякий случай  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх