Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » シート削除でキャンセルしたときの戻り値は?

シート削除でキャンセルしたときの戻り値は?

対象: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

確認メッセージで、[キャンセル]ボタンをクリックすればメッセージボックスに「False」、[削除]ボタンをクリックすれば「True」がそれぞれ表示されます。

ローカルウィンドウも確認しましょう

ショートカットキー[F8]でステップ実行して、ローカルウィンドウを確認すれば、より明確になります。

確認メッセージで[キャンセル]ボタンをクリックすれば、

シート削除でキャンセルしたときの戻り値は?

ローカルウィンドウの[型]欄には「Variant/Boolean」と表示され、[値]欄に「False」と表示されます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » シート削除でキャンセルしたときの戻り値は?

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.