Excel VBAの演算子と変数の宣言

目次

変数の宣言 演算子 具体的な例

VBA

EXCEL VBAについて 基本構文について 変数と演算子について セル操作について シート操作について ブック操作について For文について IF文について Case文について 業務効率VBA10例 トップへ戻る

変数の宣言

VBAで変数を宣言するには、Dimキーワードを使用します。変数のデータ型も指定できます。

Dim x As Integer
Dim y As Double
Dim name As String
Dim isActive As Boolean
                

変数に値を代入するには、=演算子を使用します。

x = 10
y = 3.14
name = "Alice"
isActive = True
                

演算子

算術演算子

算術演算子は、数値の計算を行います。

Dim a As Integer
Dim b As Integer
Dim result As Integer

a = 5
b = 3

result = a + b    ' 加算 -> 8
result = a - b    ' 減算 -> 2
result = a * b    ' 乗算 -> 15
result = a / b    ' 除算 -> 1.6667
result = a \ b    ' 整数除算 -> 1
result = a Mod b  ' 剰余 -> 2
result = a ^ b    ' 累乗 -> 125
                

代入演算子

代入演算子は、変数に値を代入します。

Dim c As Integer
c = 10     ' 値の代入 -> 10
c += 5     ' 加算代入 -> 15
c -= 3     ' 減算代入 -> 12
c *= 2     ' 乗算代入 -> 24
c /= 4     ' 除算代入 -> 6
c \= 2     ' 整数除算代入 -> 3
c ^= 2     ' 累乗代入 -> 9
                

比較演算子

比較演算子は、値を比較して真(True)または偽(False)を返します。

Dim d As Integer
Dim e As Integer
Dim isEqual As Boolean

d = 5
e = 3

isEqual = (d = e)  ' 等しいか -> False
isEqual = (d <> e) ' 等しくないか -> True
isEqual = (d > e)  ' より大きいか -> True
isEqual = (d < e)  ' より小さいか -> False
isEqual = (d >= e) ' 以上か -> True
isEqual = (d <= e) ' 以下か -> False
                

論理演算子

論理演算子は、ブール値の論理演算を行います。

Dim f As Boolean
Dim g As Boolean
Dim resultBool As Boolean

f = True
g = False

resultBool = f And g   ' AND -> False
resultBool = f Or g    ' OR -> True
resultBool = Not f     ' NOT -> False
resultBool = f Xor g   ' XOR -> True
                

具体的な例

例題1: 簡単な電卓マクロ

以下の例では、ユーザーに2つの数値を入力させ、基本的な算術演算を行う簡単な電卓マクロを作成します。

Sub SimpleCalculator()
    Dim num1 As Double
    Dim num2 As Double
    Dim sum As Double
    Dim difference As Double
    Dim product As Double
    Dim quotient As Double
    
    ' ユーザー入力を取得
    num1 = InputBox("最初の数値を入力してください:")
    num2 = InputBox("2番目の数値を入力してください:")
    
    ' 算術演算を実行
    sum = num1 + num2
    difference = num1 - num2
    product = num1 * num2
    If num2 <> 0 Then
        quotient = num1 / num2
    Else
        quotient = 0
    End If
    
    ' 結果を表示
    MsgBox "加算: " & sum & vbCrLf & _
           "減算: " & difference & vbCrLf & _
           "乗算: " & product & vbCrLf & _
           "除算: " & quotient
End Sub
                

例題2: 複数の条件を満たすかチェック

以下の例では、ユーザーに入力された年齢を基に、特定の条件を満たすかどうかをチェックします。

Sub CheckAge()
    Dim age As Integer
    Dim isEligible As Boolean
    
    ' ユーザー入力を取得
    age = InputBox("あなたの年齢を入力してください:")
    
    ' 条件チェック
    If age >= 18 And age <= 65 Then
        isEligible = True
    Else
        isEligible = False
    End If
    
    ' 結果を表示
    If isEligible Then
        MsgBox "あなたは条件を満たしています。"
    Else
        MsgBox "あなたは条件を満たしていません。"
    End If
End Sub