Dim r As Variant
r = Application.WorksheetFunction.Match("てきとう", TargetBook.Sheets("word").Range("A1:A20000"), 0)
返り値 r には 行番号が入っています。しかしながら、範囲内に検索文字がない場合にError となりますので、対応します。
Sub test()
Dim r As Long
r = 0
On Error Resume Next
r = Application.WorksheetFunction.Match("てきとう", TargetBook.Sheets("word").Range("A1:A20000"), 0)
On Error GoTo 0
If r = 0 Then Exit Sub
End Sub
また、Err.Numberを確認することで発生したErrorを特定することもできます。
Sub test()
Dim r As Long
r = 0
On Error Resume Next
r = Application.WorksheetFunction.Match("てきとう", TargetBook.Sheets("word").Range("A1:A20000"), 0)
On Error GoTo 0
If Err.Number > 0 Then
Err.Clear '次のエラーのためにクリアしておく
Exit Sub
End If
End Sub
0 件のコメント:
コメントを投稿