同一プロシージャ内にサブルーチンを作成して使用する方法【ExcelVBA】

GoSubReturnステートメントを使用してGoSub 〇〇で〇〇:の場所から実行

その後Returnで最後に実行したGoSubの直後のステートメントから実行する形で

サブルーチンとして使用することが可能

プロシージャを複数作成せず、同一プロシージャ内にサブルーチンを作成して可視化したい場合に便利

GoSub 〇〇 → 〇〇:までいく

Return → 最後に実行されたGoSubの直後のステートメントに戻る

Application.Waitメソッド 指定した時間まで待機する命令

Now → 現在の日付と時刻

TimeSerial関数 → (時間、分、秒)で日付

Mod演算子 剰余を求める 〇〇 Mod  △△

〇〇を△△で割った余りを求める 例:10 Mod 3 →1 (3余り1の為)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

実際に使用したサンプルコード

Option Explicit
Public Sub Main()

Do

'サブルーチンに移動
GoSub 待機

ActiveCell.Value = "〇"

ActiveCell.Offset(1).Select

'行が3で割り切れたら色のサブルーチンにいく
If ActiveCell.Row Mod 3 = 0 Then
GoSub 色
End If

Loop

Exit Sub

待機:

'1秒待つ
Application.Wait Now + TimeSerial(0, 0, 1)

'元に戻る
Return

色:

'アクティブセルの色を赤色に
ActiveCell.Interior.ColorIndex = 3

'元に戻る
Return

End Sub

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です