Vba で like 演算子を使用する方法 (例あり)
VBA でLike演算子を使用すると、文字列に特定のパターンが含まれているかどうかを判断できます。
たとえば、次の構文を使用して、セル範囲A2:A10の各文字列に部分文字列 “hot” が含まれているかどうかを確認し、範囲B2:B10に結果を表示できます。
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で Like 演算子を使用する方法
Excel に次のような食品のリストがあるとします。
次のマクロを作成して、列 A の各文字列に部分文字列「hot」が含まれているかどうかを確認し、その結果を列 B に表示します。
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B は、列 A 内の一致する各セルに「ホット」部分文字列が含まれているかどうかを示します。
部分文字列の前後にアスタリスク ( * ) を使用して、セル内の「ホット」文字列の前後に任意の文字を配置できることを示していることに注意してください。
代わりに、各文字列が「hot」で始まるかどうかを確認したい場合は、部分文字列の後にのみアスタリスクを配置できます。
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "hot*" Then
Range("B" & i) = "Starts with hot"
Else
Range("B" & i) = "Does not start with hot"
End If
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B は、列 A 内の一致する各セルが「hot」で始まるかどうかを示します。
追加リソース
次のチュートリアルでは、VBA を使用して他の一般的なタスクを実行する方法について説明します。
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法
VBA: 特定のテキストを含むセルを数える方法