Excel VBA の Like
演算子は、文字列の部分一致やパターンマッチングを行う際に便利な機能です。特定のパターンや条件に合致する文字列を簡単に検出することができます。
Like
演算子の基本的な使い方から活用例と注意点を解説します。
目次
Like演算子の基本構文
結果 = 文字列 Like パターン
文字列
: 検索対象の文字列。パターン
: 照合したいパターン。ワイルドカードを使用可能。結果
: パターンに一致すればTrue
を返し、一致しなければFalse
を返します。
ワイルドカードと特殊文字
Like
演算子で使用できるワイルドカードや特殊文字は以下の通りです。
ワイルドカード | 説明 | 使用例 |
---|---|---|
* | 0文字以上の任意の文字列に一致 | A* → Aで始まる文字列 |
? | 任意の1文字に一致 | A?C → Aから始まりCで終わる3文字 |
# | 任意の1桁の数字に一致 | #123 → 0123, 9123など |
[文字群] | 指定した文字のいずれかに一致 | [AB]C → AC, BC |
[!文字群] | 指定した文字以外に一致 | [!AB]C → CC, DCなど |
[文字-文字] | 範囲指定された文字に一致 | [A-Z] → AからZまでの文字 |
Excel VBA: Like演算子で部分一致を実現する方法
Like
演算子を使用して文字列の部分一致をチェックする簡単な例です。
部分一致をチェック
Sub BasicLikeExample()
Dim str As String
Dim result As Boolean
str = "Apple"
result = str Like "A*"
If result Then
MsgBox "文字列は 'A' で始まります。"
Else
MsgBox "文字列は 'A' で始まりません。"
End If
End Sub
解説
- パターン
A*
は、「Aで始まる任意の文字列」を意味します。 Apple
はA
で始まるため、一致します。
ワークシート内の文字列をフィルタリング
列Aのセルで「Test」で始まる文字列を持つセルを黄色に色付けします。
【VBA】フォーマット設定:数値形式・フォント・背景色の一括/条件設定
Sub HighlightMatchingCells()
Dim ws As Worksheet
Dim cell As Range
Set ws = ThisWorkbook.Worksheets("Sheet1")
For Each cell In ws.Range("A1:A100")
If cell.Value Like "Test*" Then
cell.Interior.Color = RGB(255, 255, 0) ' 黄色に設定
End If
Next cell
End Sub
ポイント
- パターン
Test*
は、「Testで始まる任意の文字列」に一致します。 - 例えば、
Test123
やTesting
が該当します。
数字のパターンマッチング
数字が特定の形式に合致するかをチェックします。
Sub CheckNumericPattern()
Dim number As String
number = "123-456"
If number Like "###-###" Then
MsgBox "数字は正しい形式です。"
Else
MsgBox "数字は形式に一致しません。"
End If
End Sub
解説
- パターン
###-###
は、「3桁の数字-3桁の数字」に一致します。 - 例えば、
123-456
は一致し、12-3456
は一致しません。
複数条件のパターンマッチング
複数の条件に基づいてパターンをチェックする例です。
Sub MultiplePatternCheck()
Dim str As String
str = "Excel2024"
If str Like "Excel*" And str Like "*2024" Then
MsgBox "文字列は 'Excel' で始まり、'2024' で終わります。"
Else
MsgBox "条件に一致しません。"
End If
End Sub
ポイント
Excel*
と*2024
の両方に一致する場合にメッセージを表示します。
注意点
- 大文字・小文字の区別
VBA のLike
演算子はデフォルトで大文字・小文字を区別しません。区別したい場合はOption Compare Binary
を使用します。【VBA】Option Compare 【Binary・Text】ステートメントの設定方法 - 正規表現との違い
Like
演算子は正規表現よりも簡易的で、複雑なパターンマッチングには向いていません。より高度なパターンが必要な場合は、正規表現を使用する方法を検討してください。【VBA】正規表現オブジェクト作成・検索・抽出
まとめ
Like
演算子を使用することで、以下のような便利な操作が可能になります。
- 文字列の部分一致チェック
- 特定のパターンに基づくデータのフィルタリング
- 数値や文字列の形式確認
Like
演算子は簡単な記述で便利な機能を提供するため、VBAでの文字列操作やデータ検証の際に役立ちます。