2017年04月22日
ExcelVBA Exitステートメント
☆エステ体験「美脚時代コース」エルセーヌ
https://px.a8.net/svt/ejp?a8mat=2NSTUY+9X83QQ+1HK2+1ZJG1V
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
Exitステートメント
処理の途中でその処理から抜ける場合に使用します。
Exit Do・・・Do〜Loopの処理中に抜ける場合に使用します。
Exit For・・・For〜Next
Exit Sub・・・プログラムの処理から抜けます・・・プログラムが終了します。
その他色々ありますが代表的なものをあげておきます。
例)前回Do〜Loopで紹介したプログラムです。
Sub 点数3()
Dim i As Integer
i = 2
Do
If Sheets("sheet1").Cells(i, 2) < 50 Then
Cells(i, 3).Value = "不可"
ElseIf Sheets("sheet1").Cells(i, 2) < 75 Then
Cells(i, 3).Value = "良"
ElseIf Sheets("sheet1").Cells(i, 2) < 100 Then
Cells(i, 3).Value = "優"
End If
i = i + 1
Loop While Sheets("sheet1").Cells(i, 1) <> ""
End Sub
上記で最後のところに
Loop While Sheets("sheet1").Cells(i, 1) <> ""とあります。
これはループを終了する条件式ですね。
ここの代わりに
If i=7 Then
Exit Do
End If
上記のようにすると変数「i」が7になったときにDoから抜けるという内容になります。
For〜Nextでも同じように使用できます。
Subの場合でも何か条件付けして「この条件」の場合はプログラムを終了させる
という場合に使用します。
例)
Sub msg()
If Sheets("sheet2").Range("b4") = "" Then
MsgBox "入力してください"
Exit Sub
End If
End Sub
上記の場合、B4が空白のままプログラムを実行した場合は
「何か入力してください」というメッセージが表示され、「OK」を押すと、
Subから抜けてこのプログラムは終了します。
何か入力されている場合はメッセージもなく普通に終了いたします。
上記ようなプログラムはよく使用します。
何項目か入力してもらった後に処理を実行するというプログラムの場合に、
未入力項目があった場合に上記のようなプログラムを入れて入力を
促すような使い方がされます。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[PR]━┓
高速・多機能・高安定レンタルサーバー『エックスサーバー』
─────────────────────────────────
・月額900円(税抜)から、大容量200GBからの高コストパフォーマンス
・安定のサーバー稼働率99.99%以上
・高速性を重視し、最新20コアCPU(Xeon E5シリーズ)+192GBメモリ
+RAID10を採用!
・幅広いバージョンのPHPやSSHに対応!
・初心者でも安心の24時間365日メールサポート!
─────────────────────────────────
https://px.a8.net/svt/ejp?a8mat=2NR2G3+DG1FLE+CO4+5ZU2B
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
https://px.a8.net/svt/ejp?a8mat=2NSTUY+9X83QQ+1HK2+1ZJG1V
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
Exitステートメント
処理の途中でその処理から抜ける場合に使用します。
Exit Do・・・Do〜Loopの処理中に抜ける場合に使用します。
Exit For・・・For〜Next
Exit Sub・・・プログラムの処理から抜けます・・・プログラムが終了します。
その他色々ありますが代表的なものをあげておきます。
例)前回Do〜Loopで紹介したプログラムです。
Sub 点数3()
Dim i As Integer
i = 2
Do
If Sheets("sheet1").Cells(i, 2) < 50 Then
Cells(i, 3).Value = "不可"
ElseIf Sheets("sheet1").Cells(i, 2) < 75 Then
Cells(i, 3).Value = "良"
ElseIf Sheets("sheet1").Cells(i, 2) < 100 Then
Cells(i, 3).Value = "優"
End If
i = i + 1
Loop While Sheets("sheet1").Cells(i, 1) <> ""
End Sub
上記で最後のところに
Loop While Sheets("sheet1").Cells(i, 1) <> ""とあります。
これはループを終了する条件式ですね。
ここの代わりに
If i=7 Then
Exit Do
End If
上記のようにすると変数「i」が7になったときにDoから抜けるという内容になります。
For〜Nextでも同じように使用できます。
Subの場合でも何か条件付けして「この条件」の場合はプログラムを終了させる
という場合に使用します。
例)
Sub msg()
If Sheets("sheet2").Range("b4") = "" Then
MsgBox "入力してください"
Exit Sub
End If
End Sub
上記の場合、B4が空白のままプログラムを実行した場合は
「何か入力してください」というメッセージが表示され、「OK」を押すと、
Subから抜けてこのプログラムは終了します。
何か入力されている場合はメッセージもなく普通に終了いたします。
上記ようなプログラムはよく使用します。
何項目か入力してもらった後に処理を実行するというプログラムの場合に、
未入力項目があった場合に上記のようなプログラムを入れて入力を
促すような使い方がされます。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[PR]━┓
高速・多機能・高安定レンタルサーバー『エックスサーバー』
─────────────────────────────────
・月額900円(税抜)から、大容量200GBからの高コストパフォーマンス
・安定のサーバー稼働率99.99%以上
・高速性を重視し、最新20コアCPU(Xeon E5シリーズ)+192GBメモリ
+RAID10を採用!
・幅広いバージョンのPHPやSSHに対応!
・初心者でも安心の24時間365日メールサポート!
─────────────────────────────────
https://px.a8.net/svt/ejp?a8mat=2NR2G3+DG1FLE+CO4+5ZU2B
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6193232
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック