Worksheets("itogi").Activate
Range("A2:BA6").Select
With Selection
Set c = .Find(What:="otgrujeno", After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False)
If Not c Is Nothing Then
Sheets(2).Cells(8, 2).Value = Selection.Column
Else
MsgBox "Ничего не найдено"
End If
End With
Как написать макрос???
На данный момент у меня прописан примитивный макрос поиска.
Worksheets("itogi").Activate
Range("A2:BA6").Select
Selection.Find(What:="otgrujeno", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False).Select
Sheets("sup").Cells(80, 2).Value = Selection.Column
Если слово не находится, то макрос сообщает ошибку и приходится его снова перезапускать, чтобы искать другое. Наверняка есть другой путь, чтобы выводилось сообщение, что слово не найдено, "Хотите ли Вы начать поиск следующего слова" Да, Нет и т.д. Но я нигде не могу найти, как это сделать. Если кто знает подскажите.
Цитата:
Originally posted by svyatoslav
Как написать макрос поиска слова? ... Если слово не находится, то макрос сообщает ошибку и приходится его снова перезапускать, чтобы искать другое. Наверняка есть другой путь, чтобы выводилось сообщение, что слово не найдено, "Хотите ли Вы начать поиск следующего слова" Да, Нет и т.д. Но я нигде не могу найти, как это сделать. Если кто знает подскажите.
Как написать макрос поиска слова? ... Если слово не находится, то макрос сообщает ошибку и приходится его снова перезапускать, чтобы искать другое. Наверняка есть другой путь, чтобы выводилось сообщение, что слово не найдено, "Хотите ли Вы начать поиск следующего слова" Да, Нет и т.д. Но я нигде не могу найти, как это сделать. Если кто знает подскажите.
Что касается анализа успешности поиска, то попробуйте вот такой пример:
Код:
Для повторения поиска этого же слова используйте в цикле метод FindNext (готовый пример есть в справке).
Что же касается диалога типа "Хотите ли искать дальше" к тому же с запросом другого искомого слова, то это надо писать самому (с использованием формы или InputBox, например).
Код:
With Worksheets("itogi").Range("A2:BA6")
Set sFind = .Find(What:="Текст", LookIn:=xlValues, LookAt:=xlPart)
MsgBox IIf(sFind Is Nothing, "No", "Yes"), , ""
End With
Set sFind = .Find(What:="Текст", LookIn:=xlValues, LookAt:=xlPart)
MsgBox IIf(sFind Is Nothing, "No", "Yes"), , ""
End With
Обратите внимание на именованный аргумент LookAt, если его значение указано как xlPart, то в таком случае, при поиске текста "Иван", данная функция найдёт "Иванов" Для более точного поиска необходимо использовать LookAt:=xlWhole