VBAで列内の指定データを検索の方法
Range.Find メソッドは、VBA の 1 列から特定のデータを検索するために使用できます。以下にサンプル コードを示します。
Sub FindData()
Dim rng As Range
Dim targetValue As Variant
Dim firstAddress As String
' 设置要查找的数据
targetValue = "ABC"
' 设置要查找的范围
Set rng = Range("A1:A10")
' 使用Find方法查找数据
Set rng = rng.Find(targetValue, LookIn:=xlValues)
' 如果找到了数据
If Not rng Is Nothing Then
firstAddress = rng.Address
Do
' 在这里可以对找到的数据进行处理
MsgBox "找到了 " & targetValue & " 在单元格 " & rng.Address
' 继续查找下一个匹配项
Set rng = rng.FindNext
Loop While Not rng Is Nothing And rng.Address <> firstAddress
Else
' 如果未找到数据
MsgBox targetValue & " 未找到"
End If
End Sub
上記のコードでは、最初に検索する値をtargetValue変数に格納し、その後、検索範囲をRange(“A1:A10”)に設定します。次に、Findメソッドを使用して、指定した範囲内でデータを検索します。データが見つかった場合、結果はrng変数に格納され、Addressプロパティを使用してセルのアドレスを取得します。その後、FindNextメソッドを使用して次のマッチするアイテムを検索し続け、元のアドレスに戻るか、これ以上マッチするアイテムがないまで続けます。指定したデータが見つからない場合は、メッセージボックスが表示されて通知されます。