Excel VBAの「Ifステートメント」は、条件に応じて異なる処理を行うためのプログラムの制御を作成します。単純なIfやIf...Elseなど、どんな種類の使い方があるか、サンプルコードをもとに具体的に解説します。
Ifステートメントの種類
・単純なIfステートメント
条件がTrueの場合に実行されるコードを指定します。
・ If...Elseステートメント
条件がTrueの場合とそれ以外の場合の両方に対して実行するコードを指定します。
※If...ElseIf...Elseステートメント: 複数の条件をチェックし、条件に合致する処理を実行する方法もありますが、問題集範囲に含まれていないので割愛します。
Ifステートメントの使い方
’単純なIfステートメントの例:
If 条件 Then
実行するコード
End If
’If...Elseステートメントの例:
If 条件 Then
Trueの場合のコード
Else
Falseの場合のコード
End If
Dim i As Integer
For i = 1 To 5 ' 1から5までの範囲で繰り返す例
' ここに繰り返し処理したいコードを記述する
Debug.Print "Iteration " & i
Next i
Ifステートメントは、特定の条件が成立するかどうかに基づいてプログラムを制御するのに役立ちます。条件に応じて、異なる操作を実行したり、特定のコードブロックをスキップしたりできます。
' = 演算子を使った例
Dim number As Integer
number = 10
If number = 10 Then
MsgBox "number は 10 です"
End If
' <> 演算子を使った例
Dim value As String
value = "Hello"
If value <> "World" Then
MsgBox "value は World ではありません"
End If
' >、< 演算子を使った例
Dim x As Integer
x = 20
If x > 10 Then
MsgBox "x は 10 より大きいです"
End If
If x < 30 Then
MsgBox "x は 30 より小さいです"
End If
' And 演算子を使った例
Dim y As Integer
y = 25
If x > 10 And y < 30 Then
MsgBox "x は 10 より大きく、かつ y は 30 より小さいです"
End If
' Or 演算子を使った例
Dim z As Integer
z = 5
If z < 10 Or x > 30 Then
MsgBox "z は 10 より小さい、もしくは x は 30 より大きいです"
End If
それぞれの条件演算子を使って、異なる条件をチェックし、条件が成立する場合にメッセージボックスを表示する例です。
操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。
「Ifステートメント」は、●●●に応じて異なる処理を行うためのプログラムの制御を作成
・単純なIfステートメント
条件が●●●の場合に実行されるコードを指定します。
If 条件 ●●●
実行するコード
End ●●●
・ If...Elseステートメント
条件が●●●の場合と●●●の場合の両方に対して実行するコードを指定します。
If 条件 ●●●
Trueの場合のコード
●●●Falseの場合のコード
●●● If※以下、演算子は見やするため全角にしています。(実際は半角記述になります)
Dim number As Integer
number = 10
If number ●●● 10 Then
MsgBox "number は 10 です"
End If
Dim value As String
value = "Hello"
If value ●●● "World" Then
MsgBox "value は World ではありません"
End If
Dim x As Integer
x = 20
If x ●●● 10 Then
MsgBox "x は 10 より大きいです"
End If
If x ●●● 30 Then
MsgBox "x は 30 より小さいです"
End If
Dim y As Integer
y = 25
If x ●●● 10 ●●● y ●●● 30 Then
MsgBox "x は 10 より大きく、かつ y は 30 より小さいです"
End If
Dim z As Integer
z = 5
If z ●●● 10 ●●● x ●●● 30 Then
MsgBox "z は 10 より小さい、もしくは x は 30 より大きいです"
End If
Excel VBAのスキルを身につけて、仕事の効率化に貢献しませんか?
当サイトでは、Excel VBAエキスパート認定資格取得に向けた情報を提供しています。興味がある方は、ぜひ以下の問題集からチャレンジしてみてください。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。