【作成中】【Excel VBA】演算子

VBAにはさまざまな演算子が用意されています。

  • 算術演算子
  • 比較演算子
  • 文字列結合演算子
  • 論理演算子
  • 代入演算子
目次

さまざまな演算子

算術演算子

算術演算子は四則演算など数値演算に使われます。VBAには次の算術演算子があります。

演算子説明
+加算
-減算
*乗算
/除算
^べき乗
\除算の整数部
Mod除算のあまり

次に使い方の例を示します。

5 + 2      ' 7
5 - 2      ' 3
5 * 2      ' 10
5 / 2      ' 2.5
5 ^ 2      ' 25
5 \ 2      ' 2
5 Mod 2    ' 1

「+」や「-」は単項演算子としても使われます。

+5       ' 5
-5      ' -5

比較演算子

比較演算子は2つの値の大小を比較します。被演算子が数値型なら数値比較、文字列型なら文字列比較を実行します。比較した結果が正しければTrue、そうでなければFalseに評価されます。ただし、いずれかの被演算子がNullの場合、結果もNullになります。

比較演算子は主にIfステートメントなどの条件式で使用します。

演算子説明
A < BAがBより小さい
A <= BAがB以下
A > BAがBより大きい
A >= BAがB以上
A = BAとBが等しい
A <> BAとBが等しくない

次のコードは、比較演算子の使い方を示しています。

3 < 5    ' True
3 >= 5   ' False
3 = 5    ' False
3 <> 5   ' True

Like演算子 ― 文字列のパターンマッチング

Like演算子は文字列とパターンを比較します。文字列がパターンにマッチすればTrue、そうでなければFalseになります。ただし、文字列またはパターンのいずれかがNullなら結果はNullです。

演算子説明
文字列 Like パターン文字列がパターンにマッチすればTrue。そうでなければFalse。ただし、文字列かパターンがNullならNull。

パターンにはワイルドカード文字が使えます。使用できるワイルドカード文字とその意味は次の通りです。

ワイルドカード文字説明
?任意の1文字
*0文字以上の文字
#任意の1桁の数字
[文字リスト]「文字リスト」のいずれか1文字
[!文字リスト]「文字リスト」の文字以外
[文字1-文字2]文字1と文字2の範囲のいずれか1文字

次のコードは、Like演算子の使い方を示しています。

"ABCDEFG" Like "ABCD???"             ' True
"ABCDEFG" Like "ABC*"                ' True
"ABCDEFG" Like "[ABC][ABC][ABC]*"    ' True
"ABCDEFG" Like "[A-C][A-C][A-C]*"    ' True

Is演算子 ― オブジェクトの等価性の比較

Is演算子は2つのオブジェクトを比較します。オブジェクトを参照する2つの変数が同じオブジェクトを参照している場合はTrue、そうでなければFalseになります。

オブジェクトの比較において、変数が同じオブジェクトを参照しているか、つまり変数の値が同じである比較するのは「等価性」の比較である。一方、オブジェクトに内容が同じであるか比較するのは「等値性」の比較である。

演算子説明
A Is BAとBが同じオブジェクトを参照していればTrue。そうでなければFalse。

次の例は変数aと変数bは同じCollection オブジェクトを参照していますが、変数cは別のCollectionオブジェクトを参照しています。

Dim a, b, c
Set a = New Collection
Set b = a
Set c = New Collection

MsgBox a Is b    ' True
MsgBox a Is c    ' False

論理演算子

論理演算子は、論理値(TrueまたはFalse)同士に対して論理演算を実行します。結果も論理値となります。比較演算など論理値に評価される結果を組み合わせた条件式に使われます。

演算子説明
A And BAとBがTrueならTrue。そうでなければFalse。ただし、一方がTrueでもう一方がNull、あるいは両方ともNullならNull。
A Or BAとBのいずれか一方がTrueならTrue。そうでなければFalse。ただし、一方がFalseでもう一方がNull、あるいは両方ともならNull。
Not AAがTrueならFalse、FalseならTrue。NullならNull。
A Eqv BAとBが両方ともTrue、または両方ともFalseならTrue。そうでなければFalse。ただし、いずれかがNullならNull。
A Imp BAがFalseまたはBがTrueであればTrue。ただし、AがTrueでBがNull、AがNullでBがFalse、または両方ともNullならNull。
A Xor B一方がTrue、もう一方がFalseならTrue。そうでなければFalse。ただし、いずれかがNullならNull。

代入演算子

代入演算子は左右辺の値を辺の変数に代入します。

演算子説明
変数 = 値変数に値を代入する

次に使用例を示します。

a = 3
b = a

文字列連結演算子

文字列連結演算子は2つの文字列を連結します。「+」演算子は算術演算にも使われるので、文字列を結合する意図を明確にするために「&」を使用が推奨されます。

演算子説明
文字列1 & 文字列2文字列1と文字列2を結合する
文字列1 + 文字列2文字列1と文字列2を結合する

次に使用例を示します。

name = "鈴木" & " " & "太郎"    ' 鈴木 太郎
よかったらシェアしてね!
  • URLをコピーしました!
目次