Excel VBAメモ ContinueのかわりをDo…Loop Whileにさせてみる

VBA

いまさらだけど、Excel 2003より前のExcel VBAってcontinueないっぽい…知らんかったわ…。

野暮用でどうしても2003を使うことになったんだけど、continueないと何かと面倒で…GoToを使うって手もあるけど、なんだか見づらい気がして…。

ってなことで、Do…Loop Whileでcontinueの代用をしてみる。
コードはこんな感じ。

'
' 10回ループする
'
Dim nCurrent As Integer ' ループカウンタ
For nCurrent = 1 To 10 ' ここは1で始まるようにしたので注意
	' 1回だけループするDo-Loopを用意する
	Do
		' 5回目以前のループの処理は実行しないようにする
		If nCurrent < 5 Then
			Exit Do
		End If
		' 回数をイミディエイトウィンドウに出力する(5~10まで出力してくれるはず)
		Debug.Print nCurrent
	Loop While False ' 条件にはFalseを設定して必ずLoopを終了するように!
Next

実行してみるとこんな感じ。
1~4までは処理をしていないので、うまくcontinueの代用ができてるっぽい。

5
6
7
8
9
10

まま、明日への自分へのメモってことで。

[amazonjs asin="4798040452″ locale="JP" title="ExcelVBAパーフェクトマスター(Excel2013完全対応Excel2010/2007対応) (Perfect Master SERIES)"]