
No.2ベストアンサー
- 回答日時:
こんばんは。
やりたい方法と違いますが、こんな方法は同でしょうか?
現状のシートにメインシートを追加し、メインシートをクリックすると
そのシートに関連したシートのみ表示します。
(「売上げ」をクリックすると「売上げ1月」「売上げ2月」…を表示)
※メインシートと表示シートの関連は、"売上げ"がシート名に含まれるか否かで表示/非表示を識別します。
(ついでに、シート名に色付けもしています。)
「売上げ1月」「支出1月」「人件費1月」……と12ヶ月分のシート36枚のブックに「売上げ」「支出」「人件費」のシートを追加します。
「ツール」-「マクロ」-「Visual Basic Editor」を選択し、
「売上げ」、「支出」、「人件費」の各シートのマクロとして
Private Sub Worksheet_Activate()
Call ActiveSheet(Me.Name)
End Sub
を記入します。
Visual Basic Editor の「挿入」-「標準モジュール」を選択します。
Module1が追加されるので、Module1に以下を記入します。
Sub ActiveSheet(ByVal sheetName As String)
Dim st As Worksheet
For Each st In ActiveWorkbook.Sheets
If st.Name = "売上げ" Or _
st.Name = "支出" Or _
st.Name = "人件費" Then
st.Visible = True
Else
If InStr(st.Name, sheetName) >= 1 Then
'sheetName を含むWorksheetを表示する
st.Visible = True
st.Tab.ColorIndex = 38 '色付け
Else
'上記以外は非表示
st.Visible = False
End If
End If
Next
End Sub
ご回答ありがとうございます。
上記を試してみたところ、とても便利ですね。
上記の内容を参考に表作りを進めていきたいです。
質問なのですが、メインシート(表示シートも12ヶ月分)を一つ増やす場合、Module1に加えるコードを教えてほしいです。
================================
If st.Name = "売上げ" Or _
st.Name = "支出" Or _
st.Name = "人件費" Then
st.Visible = True
================================
に対して、
================================
If st.Name = "売上げ" Or _
st.Name = "支出" Or _
st.Name = "新規メインシート" Or _
st.Name = "人件費" Then
st.Visible = True
================================
でよろしいのでしょうか?
お手数ですが、お時間がある時にでもご回答頂けたらと思います。
今回はありがとうございました。
No.3
- 回答日時:
#No2です。
質問の回答です。
ご指摘の通りで問題ないです。
メインシートと表示シートは、メインシートのシート名を
含んでいる事で関連付けしています。
================================
If st.Name = "売上げ" Or _
st.Name = "支出" Or _
st.Name = "新規メインシート" Or _
st.Name = "人件費" Then
st.Visible = True
================================
"新規メインシート"のマクロ(Worksheet_Activateイベント)記述もお忘れなく。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで多数のシートをまとめる方法
Excel(エクセル)
-
エクセル シートのグループ化 編集のグループ化 ではなく 下部のタグの見栄えをグループ化 できないか
Access(アクセス)
-
エクセルで複数のシートを別ファイルに分けたい
Excel(エクセル)
-
-
4
Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい
Excel(エクセル)
-
5
エクセルシートのタブの階層化表示
Excel(エクセル)
-
6
セル入力文字が、「右のセルにはみ出す場合と」「はみ出さない場合」の違い
Excel(エクセル)
-
7
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
8
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
9
エクセルの散布図のX軸に文字を表示したいのですが、どうしたらよいのでしょうか?
Excel(エクセル)
-
10
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
11
多数の計算セルに一括で同一の関数を追加したい
Excel(エクセル)
-
12
自分の質問を「ご質問」と表現
日本語
-
13
セルの塗りつぶしに透明度を設定する方法
Excel(エクセル)
-
14
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
15
エクセルのシー名を二段表示にできないか
その他(コンピューター・テクノロジー)
-
16
エクセル 非表示のシートをハイパーリンクで表示できますか?
Excel(エクセル)
-
17
エクセルで特定のセル以下の全部のセルの選択方法
Excel(エクセル)
-
18
outlook 文字を揃えたい。tabでやっても揃わない。
Word(ワード)
-
19
「~したく。」という表現について
日本語
-
20
ワードでエクセルのシート1,2,3のようなことをしたい
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォルツァ バッテリーを外して...
-
バンディット250・250Vのシート...
-
IHクッキングヒーターの操作パ...
-
癒着してしまったテレビの液晶...
-
カッティングシートの上からア...
-
建築模型、カーブの作り方
-
XR250BAJAのシートのはずし方を...
-
【マクロ】シートの変数へ入れ...
-
BRIDEのシート張り替えってでき...
-
Vba Array関数について教えてく...
-
車のシートがへたってきました...
-
バイクのシートを取り替えても...
-
SRシートを流用(CB400SS)
-
メルセデスベンツ
-
エクセルVBA 4行飛ばしで転記す...
-
gsx−s125純正車載工具の中に入...
-
BIKEのシートの取り外し方を教...
-
PSP 保護シート張り替え
-
HA25S型アルトにラパンSSのシー...
-
中学生です。体育館の床に敷く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートをフォ...
-
括弧があるとHYPERLINKで飛べな...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
原付 レッツシート開け方
-
IHクッキングヒーターの操作パ...
-
フォルツァ バッテリーを外して...
-
Excel複数シートから日付と文字...
-
エクセルVBA 4行飛ばしで転記す...
-
飛行機の座席について 3列シー...
-
BRIDEのシート張り替えってでき...
-
シートベルトの固定解除
-
水の染み込んだバイクのシート...
-
ポップコーンの捨て方
-
リアシート無しで運転してたら...
-
建築模型、カーブの作り方
-
エスティマのコンソールボック...
-
マジェスティ(4HC)のシート下...
-
カッティングシートの上からア...
-
XR250BAJAのシートのはずし方を...
おすすめ情報