VBA-制御構文

VBA制御構文

If文

IfにはThenをつける必要があります。

追加の条件分岐は「ElseIf」であり、IfとElseの間には空白を入れません。


If 条件 Then
    処理
ElseIf 条件 Then
    処理
Else
    処理
End If

条件は括弧で囲うことができます。

一行で記述することもできます。


rc = func()
If (rc = False) Then Exit Function

GoTo文

指定ラベルまで処理を飛ばします。


GoTo LABEL名

LABEL名:

Select文

複数条件分岐(他言語のswitch文)はSelectを利用します。

Case毎で独立した処理を行うため、明示的な終了宣言(breakなど)はありません。


Select Case 変数
    Case 値1
        処理
    Case 値2
        処理
    Case Else
        処理
End Select

For文

For~Next文ではデフォルトでは、カウンタ変数に「1」が加算されます。

「STEP」を指定しカウンタ変数に加算される数値を指定することができます。


For カウンタ変数 = 初期値 To 繰り返し回数 Step 加算値
    処理
Next

For文の途中で抜けるにはExit Forステートメントを使用します。


For i = 0 To 4
    rc = func(i)
    If (rc = False) Then Exit For
Next

Do While文

継続条件を判定してループ処理を行います。


Do While 条件式
    繰り返す処理
Loop

Whileの位置をLoopの後ろに記述した場合、繰り返す処理を実行してから条件式判断を行います。


Do
    繰り返す処理
Loop While 条件式

Do While文の途中で抜けるにはExit Doステートメントを使用します。


i = 0
Do while i < 5
    rc = func(i)
    If (rc = False) Then Exit Do
    i = i + 1
Loop

Do Until文

Do Until文はDo While文の否定を表現します。

Do Until文の途中で抜けるにはExit Doステートメントを使用します。


Do Until 条件
   If 条件 Then
       Exit Do
   End If
Loop

関連ページ