Excel VBA | 定数を定義

Excel VBA VBA
スポンサーリンク

Excel VBA 演算子の完全学習ノート


ではこのまま「Excel VBA 演算子の完全学習ノート」として、
初心者~中級者がしっかり理解できるように、
以下のような構成で仕上げていきます。


第1章:演算子とは?

「演算子(operator)」とは、
値を計算したり、比較したり、条件を組み合わせたりするための“記号”や“キーワード” です。

たとえば:

x = 5 + 3   ' ← + は「足し算をする」演算子
If x > 5 Then ...  ' ← > は「より大きいか」を比べる演算子
VB

VBAでよく使う演算子は大きく3種類に分かれます:

種類主な役割
算術演算子数の計算をする+ - * / \ Mod ^
比較演算子値を比べて True/False を返す< <= > >= = <>
論理演算子条件をつなげたり反転したりするAnd Or Not

第2章:算術演算子 — 数をあやつる力

よく使う演算子と意味

演算子意味結果
+足し算8 + 513
-引き算10 - 46
*掛け算3 * 515
/割り算(小数も含む)8 / 51.6
\整数除算(小数切り捨て)8 \ 51
Mod余りを求める8 Mod 53
^べき乗6 ^ 236

例:いろんな計算をしてみよう

Sub 算術の例()
    Dim a As Double, b As Double
    a = 8
    b = 5

    Range("A1").Value = a + b
    Range("A2").Value = a - b
    Range("A3").Value = a * b
    Range("A4").Value = a / b
    Range("A5").Value = a \ b
    Range("A6").Value = a Mod b
    Range("A7").Value = a ^ b
End Sub
VB
セル結果説明
A113足し算
A23引き算
A340掛け算
A41.6通常の割り算
A51整数除算(商)
A63余り
A7327688の5乗(8×8×8×8×8)

補足:データ型に注意!

整数除算(\)や Mod を使うときは、変数の型が重要です。

例:

Dim a As Integer
a = 8 / 5   ' → 1 ではなく、1.6 → 小数点以下切り捨てで1になる
VB

結果が小数になると、自動的に型変換されます。
小数を扱うなら Double 型にしましょう。


第3章:比較演算子 — 値を比べて判断する

比較演算子の一覧

演算子意味結果
<より小さい3 < 5True
<=以下5 <= 5True
>より大きい8 > 3True
>=以上8 >= 9False
=等しい5 = 5True
<>等しくない5 <> 5False

例:比較結果を確認しよう

Sub 比較の例()
    Dim x As Integer
    x = 10

    Range("B1").Value = (x > 5)
    Range("B2").Value = (x = 8)
    Range("B3").Value = (x <> 8)
End Sub
セル結果説明
B1True10 は 5 より大きい
B2False10 は 8 ではない
B3True10 ≠ 8

💡 ポイント:
比較結果は 論理値(True / False) になります。
これをそのまま If 文などに使えます。


第4章:論理演算子 — 条件を組み合わせる

主な論理演算子

演算子意味結果
And両方がTrueならTrueTrue And FalseFalse
OrどちらかTrueならTrueTrue Or FalseTrue
Not真偽を反転Not TrueFalse

例:複数条件を組み合わせてみよう

Sub 論理の例()
    Dim score As Integer
    score = 75

    If score >= 60 And score < 80 Then
        Range("C1").Value = "合格(普通)"
    End If

    If score >= 80 Or score < 50 Then
        Range("C2").Value = "特別条件に該当"
    End If

    Range("C3").Value = Not (score < 80)
End Sub
VB
セル結果説明
C1合格(普通)60~79点の範囲
C2(空欄)条件に当てはまらない
C3Falsescore < 80 → True → Notで反転

第5章:優先順位とカッコの使い方

演算子には計算される順番(優先順位)があります。

優先度グループ
1括弧 ()(a + b) * c
2べき乗 ^2 ^ 3
3乗除算 * / \ Moda * b / c
4加減算 + -a + b - c
5比較演算子a > b
6論理演算子 Not, And, Or(a > b) And (c < d)

💡 つまり:

  • 掛け算・割り算が足し算より先に計算される。
  • 比較や論理演算は後で評価される。
  • わかりにくいときは必ず括弧で囲む!

例:

Sub 優先順位例()
    Range("D1").Value = 5 + 3 * 2        ' → 11
    Range("D2").Value = (5 + 3) * 2      ' → 16
    Range("D3").Value = (5 + 3) > 10 And 2 < 3  ' → False
End Sub
VB

第6章:よくある間違い・注意点

パターンよくある誤り正しい書き方・考え方
型の不一致Integer/ を使う結果が小数になる → Double型に変更
条件の抜けIf x > 5 And < 10If x > 5 And x < 10
比較の混乱= は代入と比較で意味が違う代入は x = 5、比較は (x = 5)
優先順位の誤解5 + 3 * 216と思う正しくは 11(掛け算が先)

第7章:練習問題まとめ

No内容ねらい
1四則演算の基本計算式を確認
2整数除算と余り\Mod の使い方
3比較演算True / False の結果を理解
4And / Or / Not条件の組み合わせ
5優先順位() を使う理由を理解
6成績判定プログラム実用的な条件式の組み合わせ

第8章:ミニチャレンジ(まとめテスト)

1️⃣ Dim n As Integer: n = 15
n \ 4n Mod 4 の結果は?
 → 商 = 3、余り = 3

2️⃣ Dim a As Integer: a = 8
If a > 5 And a < 10 Then ... の結果は?
 → True

3️⃣ Not (3 > 1 Or 5 < 2) の結果は?
 → False(中の式はTrue、Notで反転)

4️⃣ 2 ^ 3 * 2(2 ^ 3) * 2 は同じ?
 → 同じ結果(16)


最後に:演算子マスターのコツ

✅ 「結果をセルに出力」して確かめながら覚える。
✅ 複雑な式は常に () で囲む。
✅ 条件文は「日本語で読む」:
 例 → If x >= 60 And x < 80 Then は「60以上かつ80未満なら」。
Mod\ を使いこなすと、日付処理やグループ判定にも応用できる。


🧩 次の発展テーマ(続編候補)

  • 第9章:文字列演算子(& の使い方)
  • 第10章:型変換と演算(CInt, CDbl, CLng
  • 第11章:エラーを防ぐための演算チェック (IsNumeric, IsEmpty)

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました