同一プロシージャ内にサブルーチンを作成して使用する方法【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