人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelのVBAで、複数あるシートに対し、現在アクティブとなっている
シート以外は全て非表示にするには、どのような記述をすれば
よいでしょうか。

どうぞよろしくお願い致します。

※Excel2003を使用しております。
※各シート名は固定ではなく任意です。
※シート数も固定数ではありません。

●質問者: yoshifuku
●カテゴリ:コンピュータ
✍キーワード:Excel VBA アクティブ 現在 記述
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
●60ポイント ベストアンサー

アクティブなシートの名前を変数に控えておいて、それ以外を非表示にするという流れになっています

Sub Macro1()
 Dim activeSheetName As String
 
 activeSheetName = ActiveSheet.Name
 For Each s In ActiveWorkbook.Sheets
 If s.Name <> activeSheetName Then s.Visible = False
 Next
End Sub

ついでに、すべてのシートを表示するマクロも作っておきました

Sub Macro2()
 For Each s In ActiveWorkbook.Sheets
 s.Visible = True
 Next
End Sub
◎質問者からの返答

完璧にできました!!!

いるか送ります!!


2 ● jccrh1
●10ポイント

以下のVBAでできるかと思います。

Sub シート非表示()
 Dim シート As Worksheet
 For Each シート In Sheets
 If シート.Name <> ActiveSheet.Name Then
 シート.Visible = xlSheetHidden
 End If
 Next
End Sub
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ