演算子

広告

VBAにおいても四則計算などを行う事が出来ます。また値と値を比較するようなことも出来ます。これらをプログラム上で記述する時に使われるのが演算子です。

演算子には色々な種類がありますので順に見ていきましょう。

算術演算子

算術演算子とは加減乗算を行うもので、一般に使われている「+」とか「-」などのことです。

演算子説明得られる結果
+足し算8 + 513
-引き算10 - 46
*掛け算3 * 515
/割り算8 / 51.6
¥割り算の商8 ¥ 51
Mod割り算の余り8 Mod 533
^べき乗6 ^ 236

使い方は変数に値を格納する時と同じです。右辺に計算式を書き、左辺に計算式の結果を保存する変数などを書いてイコール(=)で結ぶだけです。

例えば次のようになります。

Sub テスト()
    Dim x As Integer

    x = 5 * 4
End Sub

比較演算子

比較演算子とは値と値を比較する時に使います。「大きい」とか「以下」などです。比較した結果はブール型の値として「True」または「False」の値を取ることになります。

演算子説明得られる結果
<小さい8 < 5False
<=以下3 <= 8True
>大きい8 > 5True
>=以上3 >= 8False
=等しい3 = 8False
<>等しくない3 <> 8True

比較演算子は条件判定や繰り返し処理の中で使われることがほとんどです。詳しくは制御構造のページで見ていきますが、無理やり使ってみると次のようになります。

Sub テスト()
    Range("A1").Value = 10 > 20
End Sub

上記を実行すると、セル(A1)に「FALSE」という値が表示されます。

論理演算子

論理演算子とは「AかつB」とか「AまたはB」などのように条件を組み合わせて使う場合に使用します。条件の部分には論理演算子による条件判定の式が入ります。

演算子説明得られる結果
And論理積8 > 4 And 2 <= 3True
Or論理和8 > 4 Or 4 <= 1True
Not論理否定Not 8 > 4False

上記の例でも簡単に書いていますが論理演算子を使う場合には次のように記述します。

(条件式1) And (条件式2)
(条件式1) Or (条件式2)
Not (条件式1)

「And」は論理積です。左辺及び右辺にある条件式がどちらも「True」の場合だけ結果として「True」を返します。

「Or」は論理和です。左辺または右辺のどちらかの条件式が「True」の場合に「True」を返します。

「Not」は論理否定です。右辺の条件式が「True]の場合には「False」を、「False」の場合には「True」を返します。

サンプル

では簡単なサンプルで試してみましょう。下記のサンプルでは「If」構文を使っています。詳しくは別のページで見ますので取りあえず気にしないで下さい。

test4.bas

Sub テスト()
    Dim x As Integer
    
    x = 10 * 5
    Range("A1").Value = x
    Range("A2").Value = 30 / 8
    
    Dim str As String
    str = "テスト"
    
    If str = "テスト" Then
        Range("A3").Value = "変数の値はテストです"
    Else
        Range("A3").Value = "変数の値はテストではありません"
    End If
    
    Dim y As Integer
    
    y = 18
    If y > 10 And y < 20 Then
        Range("A4").Value = "変数の値は10から20の間の数値です"
    End If
End Sub

上記のマクロを実行すると次のようになります。

論理演算子

( Written by Tatsuo Ikura )