Ошибка, если ничего не найдено при замене строки (выбор заменить, найти заменить) Excel VBA - PullRequest
0 голосов
/ 08 апреля 2020

Это ошибка, которую я получаю при запуске макроса. Я думал, что уже обращался, когда функция find не находит то, что я ищу, путем реализации оператора if. Почему-то это все еще не работает ...

Как я могу пропустить оператор поиска / замены, если искомое значение отсутствует в моей записи?

enter image description here

Мой код VBA:

Columns("D:D").Select
Set Example1 = Selection.Find(what:="Example One", LookIn:=xlFormulas, lookat:=xlPart, SearchOrder:=xlByRows)
If Not Example1 Is Nothing Then
Selection.Replace what:="Example One", Replacement:= _
    "Test One A", lookat:=xlPart, SearchOrder:=xlByRows _
    , MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, _
    FormulaVersion:=xlReplaceFormula2
End If

Set Example2 = Selection.Find(what:="Example Two ", LookIn:=xlFormulas, lookat:=xlPart, SearchOrder:=xlByRows)
If Not Example2 Is Nothing Then
Selection.Replace what:="Example Two ", Replacement:= _
    "Test One B", lookat:=xlPart, SearchOrder:=xlByRows, MatchCase:= _
    False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:= _
    xlReplaceFormula2
End If

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

просто быстрая вещь: on error resume next. это переходит на следующую строку при возникновении ошибки. не лучший выбор, но в этом коде это может быть полезно

0 голосов
/ 10 апреля 2020

FormulaVersion: = xlReplaceFormula2, казалось, был виновником этой проблемы. Как только я удалил его, код работает по мере необходимости. Кроме того, при ошибке возобновление следующего не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...