いつもお世話になっております。
Google検索してもわかりませんでした。
■やりたいこと
エクセルVBAで、あるシートがDeactivateになったときに、そのシートを非表示にしたいです。
下記マクロ正しくはないですが、イメージこんな感じです。
Private Sub Worksheet_Deactivate()
'このワークシートを非表示にする
ThisWorksheet.Visible = False
End Sub
ActiveSheetとすると、Deactivate後にアクティブになったシートが対象となってしまいます。
ほかのやり方で対応は可能なのですが、あくまでもこの「Private Sub Worksheet_Deactivate()」でできないものでしょうか?
シンプルに適した方法を模索しております。
■動作環境
OS 名:Microsoft Windows 10 Pro
OS バージョン:10.0.16299 N/A ビルド 16299
OS 製造元:Microsoft Corporation
プロセッサ:Intel64 Family 6 Model 42 Stepping 7 GenuineIntel ~2400 Mhz
BIOS バージョン:TOSHIBA Version 2.20 , 2012/06/22
物理メモリの合計:3,988 MB
Excel バージョン:14.0.7192.5000(32ビット) Microsoft Office Standard 2010の一部
以上、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは
Deactivateって使ったことがないのですが、試してみました。
>Private Sub Worksheet_Deactivate()
これってシートモジュールに記述してませんか?
そうであるなら、対象シートは固定なので、
Worksheets("シート名")
などで決め打ちすれば良いのではないでしょうか?
ブックに記載する場合だと、
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
のようになるので、引数ShにDeactivateされたシートオブジェクトが渡されます。
この場合は、こちらを利用することで、シートの特定が可能と思います。
ご回答ありがとうございます。
>これってシートモジュールに記述してませんか?
はい、そうです。
>ブックに記載する場合だと、
こちらで対応できました!
シートのイベントプロシージャと思い込んでおり、ブックはみていませんでした。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) モードレスでユーザーフォームが開け(表示)ません。 4 2022/09/09 11:05
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
同じ作業を複数のシートに実行...
-
ユーザーフォームに入力したデ...
-
特定の文字を含むシートだけマ...
-
VBA 存在しないシートを選...
-
excelのマクロで該当処理できな...
-
VBA 最終行まで数式をコピーする
-
【Excel VBA】Worksheets().Act...
-
実行時エラー'1004': WorkSheet...
-
エクセルのシート名変更で重複...
-
Excel VBA 複数行を数の分だけ...
-
【ExcelVBA】全シートのセルの...
-
Excel VBA で自然対数の関数Ln...
-
Excelマクロのエラーを解決した...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
Excel チェックボックスにチェ...
-
実行時エラー1004「Select メソ...
-
【VBA】シート名に特定文字が入...
-
VBA 入力月で該当シートを選択...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ExcelVBA シート名を複数セルか...
-
XL:BeforeDoubleClickが動かない
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報