対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
「vba シート削除 キャンセル 戻り値」
という検索キーワードで、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excel VBA(Visual Basic for Applications)で、Worksheet.Deleteメソッドでシートを削除しようとすると
「このシートは完全に削除されます。続けますか?」
という確認メッセージが表示されます。
このときに[キャンセル]ボタンをクリックしたときに、何が返されるのかを知りたかったのでしょう。
こういうのは、検索するより、テストしましょう。
[スポンサードリンク]
シート削除でキャンセルしたときの戻り値を確認するサンプルマクロ
以下のSubプロシージャを実行してみれば、「vba シート削除 キャンセル 戻り値」
が何であるかは明確です。
Sub test()
Dim tmp
tmp = Sheets(1).Delete
MsgBox tmp
End Sub
Dim tmp
tmp = Sheets(1).Delete
MsgBox tmp
End Sub
確認メッセージで、[キャンセル]ボタンをクリックすればメッセージボックスに「False」、[削除]ボタンをクリックすれば「True」がそれぞれ表示されます。
ローカルウィンドウも確認しましょう
ショートカットキー[F8]でステップ実行して、ローカルウィンドウを確認すれば、より明確になります。
確認メッセージで[キャンセル]ボタンをクリックすれば、
ローカルウィンドウの[型]欄には「Variant/Boolean」と表示され、[値]欄に「False」と表示されます。
[スポンサードリンク]
- Newer:日付の条件付き書式で空白セルを除外
- Older:VBAで選択図形の塗りつぶし色を変更する
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » シート削除でキャンセルしたときの戻り値は?