アクセス上位ページ
 
最近の更新内容
(4)-c.文字列連結演算子 ⇐ [PREV]
[NEXT] ⇒ (4)-e.論理演算子

Excel VBA ≫ 1.基礎編 - 演算子(4)-d.比較演算子 ( Like も含む)

【ページ内リンク】

比較演算子

比較演算子は2つの値を比較し、結果をTrueまたはFalseで返します。



比較演算子
演算子 使用例 Trueとなる条件
< A < B AがBより小さい場合
<= A <= B AがB以下の場合
> A > B AがBより大きい場合
>= A >= B AがB以上の場合
= A = B AとBが等しい場合
<> A <> B AとBが異なる場合
Like A Like B AがBの文字列パターンにマッチする場合
※詳細は後述『Like 演算子』を参照



Like 演算子

Like演算子は文字列と文字列パターンを比較し、その結果をTrueまたはFalseで返します。
文字列パターンには以下のワイルドカードや文字リストなどを指定することができます。

記号 説明
? 任意の1文字にマッチ
* 任意の数(0以上)の文字にマッチ
# 1文字の数字にマッチ
[ ] カッコ内に指定した文字リストの任意の1文字マッチ
[! ] カッコ内に指定した文字リスト以外の任意の1文字にマッチ


以下のサンプルマクロ内の"strValue"および"strPattern"をいろいろ変えてその結果を確認してみましょう。
Sub sample4_6()
    Dim strValue    As String
    Dim strPattern  As String

    strValue = "abc123def"
    strPattern = "*abc*"

    If strValue Like strPattern Then
        MsgBox "マッチ"
    Else
        MsgBox "アンマッチ"
    End If
End Sub
⇒ サンプルマクロ集 へ


Like演算子の検索結果
モジュールオプションOption Compare なしの場合)
strValue strPattern 実行結果 解説
a ? マッチ ?は任意の一文字にマッチするため
A ? マッチ 同上
1
※半角
? マッチ 同上

※全角
? マッチ 同上
? マッチ 同上
ab ??? アンマッチ 文字数が合致しないため
abc ??? マッチ 文字数が合致するため
abcd ??? アンマッチ 文字数が合致しないため
abc *abc* マッチ *は任意の数(0以上)の文字にマッチするため
123abc *abc* マッチ 同上
abcあいう *abc* マッチ 同上
123-4567 ###-#### マッチ #は1文字の数字にマッチするため
123-456 ###-#### アンマッチ 文字数が一致していないため
1234567 ###-#### アンマッチ ハイフンがないため
1 [1-3] マッチ 半角数字の1〜3にマッチするため
4 [1-3] アンマッチ 半角数字の1〜3でないため
c [a-c] マッチ 半角小文字のa〜cにマッチするため
2 [1-3,a-c]
[1-3a-c]
マッチ 半角数字の1〜3と、半角小文字のa〜cにマッチするため
b [1-3,a-c]
[1-3a-c]
マッチ 同上
3 [!1-3,a-c]
[!1-3a-c]
アンマッチ 半角数字の1〜3と、半角小文字のa〜c以外にマッチするため
12 [0-2][0-3] マッチ 文字数と文字リストにマッチしているため
01 [0-2][0-3] マッチ 同上
14 [0-2][0-3] アンマッチ 文字リストにマッチしていないため
1 [0-2][0-3] アンマッチ 文字数がマッチしていないため

<サイト内関連リンク> 関連リンクもチェック!!
- その他のモジュールオプションについて
<修正履歴>
- [2015/10/18] 掲示板からの指摘により一部修正
    【参考URL】[質問No.2] Like演算子について
カテゴリ内ページ
Excel VBA 〜 総目次 〜
- 1.基礎編
-- (4).演算子
--- (4)-a.演算子とは
--- (4)-b.算術演算子
--- (4)-c.文字列連結演算子
--- (4)-d.比較演算子 ( Like も含む)
--- (4)-e.論理演算子
--- (4)-f.演算子の優先順位



Page
Top