Excel VBA | 定数を定義

Excel VBA VBA
スポンサーリンク

Excel VBA の「演算子」を、初心者でも分かるように丁寧に説明したものです。


演算子って何?(ざっくり)

演算子は「値に何かするための記号」です。
例:+ は足し算、= は比較(等しいかどうか)…みたいなもの。演算子を組み合わせて計算したり、条件を判断したりします。


1. 算術演算子(数の計算)

主なもの:

  • +:足し算(例 5 + 38
  • -:引き算(例 5 - 32
  • *:掛け算(例 5 * 315
  • /:割り算(浮動小数点で割る。例 5 / 22.5
  • \:整数除算(商だけ。小数を切り捨て。例 5 \ 22
  • Mod:剰余(余り。例 5 Mod 21
  • ^:べき乗(例 5 ^ 225)。

ポイント(初心者向け)

  • / は小数も返します。整数型の変数に代入すると自動的に切り捨てや型変換が起きるので注意。
  • \ は「整数の商だけ欲しい」場合に使います(例:ページ割り算など)。
  • Mod は「余り」を取るとき。例えば偶数判定は n Mod 2 = 0 でできます。

例題 1(コードと説明)

Sub 算術例()
    Dim a As Double, b As Double
    a = 7
    b = 2

    Range("A1").Value = a + b    ' 9
    Range("A2").Value = a / b    ' 3.5
    Range("A3").Value = a \ b    ' 3   <-- 整数除算(小数切捨て)
    Range("A4").Value = a Mod b  ' 1   <-- 余り
    Range("A5").Value = a ^ b    ' 49  <-- べき乗
End Sub
VB

解説:A2 は正確な割り算、A3 は整数の商だけ。用途に応じて選びます。


2. 比較演算子(値を比べる)

比較は必ず True / False を返します。よく使うもの:

  • <(未満)、<=(以下)、>(より大きい)、>=(以上)
  • =(等しい)、<>(等しくない)。

例題 2(If で使う)

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

    If x >= 5 Then
        Range("B1").Value = "5 以上です"
    Else
        Range("B1").Value = "5 未満です"
    End If

    Range("B2").Value = (x = 10)  ' True が入る
End Sub
VB

解説:If 文の条件式にそのまま比較を使います。比較結果はブール(True/False)になります。


3. 論理演算子(複数条件を組み合わせる)

条件をつなげる演算子:

  • And:両方が True のときだけ True(論理積)
  • Or:どちらかが True なら True(論理和)
  • Not:True ↔ False を反転(否定)。

例題 3(複合条件)

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

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

    If Not score >= 80 Then
        Range("C2").Value = "80点未満です"
    End If
End Sub
VB

解説:And で範囲を作ったり、Not で否定を表現したりできます。


よくある初心者のつまずき(Q&A風)

Q
5 / 25 \ 2 の違いは?
A

/ は 2.5 を返す(小数扱い)。\ は整数の商(2)だけを返す。切り捨てになるので注意。

Q
Mod で負の数はどうなるの?
A

VBA の Mod は被除数の符号に従います(実際の挙動は仕様に依存するため、実験して確認するのがおすすめ)。

Q
比較の優先順位は?
A

算術演算(+ - * / 等)が先で、その後に比較、最後に論理演算が評価されるのが一般的です。複雑な式は()で明示的にグループ化すると分かりやすくて安全です。


少し踏み込んだ注意点

  • 型に注意:整数型(Integer)に大きな値を入れるとオーバーフローします。計算結果の型を想定して LongDouble を使いましょう。
  • 演算順序:複雑な式は () を使って明確に。例:If (a + b) > c And d = 1 Then のように。
  • 文字列の比較:文字列同士の = 比較は文字列の内容で比較しますが、大文字小文字の差や空白に注意。必要なら UCase/LCase で正規化してから比較する。
    (これらは実践的な注意点で、元ページの基本説明を補完する内容です。)

練習問題

  1. a = 9, b = 4 のとき、a \ ba / ba Mod b はそれぞれいくつ?
    • 答え:a \ b = 2a / b = 2.25a Mod b = 1
  2. score = 82 のとき、score >= 80 And score < 90 の結果は?(True/False)
    • 答え:True

まとめ

  • 演算子は「計算」や「比較」「条件の組み合わせ」に使う。
  • 基本を押さえ、型と演算の順番に注意すれば実用的な処理が書けます。まずは上のサンプルをコピペして動かしてみてください!
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました