変数の宣言
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