とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

Exitステートメント

VBにおけるExitはプログラム言語Cにおけるcontinue breakみたいなものだと思っていたが,Exitの後のキーワードが複数あるおかげで柔軟な分岐ができるようだ。

Private Sub Workbook_Open()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Do
For b = 0 To 10
c = Int(Rnd * 7)
Debug.Print a; b; c
Select Case c
Case 2: Exit For
Case 3: Exit Do
Case 5: Exit Sub
End Select
Next
a = a + 1
Loop
End Sub

上記コードと同じようなCのコードを書けって言われたら,多分岐においてcontinue breakを使っても一番内側のブロックからしか脱出できないので,私ならgotoを使ってしまう。VBのコードは長くなる*1とよく貶されるがVBもなかなかやるなと思った瞬間であった。

*1:キーワードが多く,ステートメントが長ったらしい。