
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
複数のエクセルブックをひとつのブックにまとめる方法
Visual Basic(VBA)
-
8
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
9
エクセルの散布図のX軸に文字を表示したいのですが、どうしたらよいのでしょうか?
Excel(エクセル)
-
10
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
11
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
12
多数の計算セルに一括で同一の関数を追加したい
Excel(エクセル)
-
13
自分の質問を「ご質問」と表現
日本語
-
14
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
15
Excelの入力規則で2列表示したい
Excel(エクセル)
-
16
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
17
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
18
エクセルのシー名を二段表示にできないか
その他(コンピューター・テクノロジー)
-
19
エクセルで特定のセル以下の全部のセルの選択方法
Excel(エクセル)
-
20
エクセルのデータグループ化の際に貼り付けた図だけ一緒に折りたたんでくれません!
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のシートをフォ...
-
BRIDEのシート張り替えってでき...
-
2024年式タフトに乗っています...
-
物理の電磁気の問題なのですが...
-
括弧があるとHYPERLINKで飛べな...
-
水の染み込んだバイクのシート...
-
飛行機の座席について 3列シー...
-
Excel複数シートから日付と文字...
-
ポップコーンの捨て方
-
車のシートがへたってきました...
-
粘土板に付かないようにするには
-
ドライブレコーダーのSDカード...
-
エクセルVBA 4行飛ばしで転記す...
-
フォルツァ バッテリーを外して...
-
Excelでポイントの管理表を作成...
-
ct125 ハンターカブ シート ロ...
-
失敗したスライムの捨て方につ...
-
NMAX125 2016を買うのですが、...
-
TEINのFLEXZに関しての質問です...
-
PET(ポリエチレンテレフタレー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートをフォ...
-
括弧があるとHYPERLINKで飛べな...
-
原付 レッツシート開け方
-
BRIDEのシート張り替えってでき...
-
電車のシートって何でこんな暑...
-
ポケットにミシンでワッペンを...
-
エクセルVBA 4行飛ばしで転記す...
-
車のシートがへたってきました...
-
フォルツァ バッテリーを外して...
-
IHクッキングヒーターの操作パ...
-
Excel複数シートから日付と文字...
-
シートベルトの固定解除
-
中学生です。体育館の床に敷く...
-
リアシート無しで運転してたら...
-
癒着してしまったテレビの液晶...
-
台所流しの水音を小さくしたい
-
マジェスティ(4HC)のシート下...
-
水の染み込んだバイクのシート...
-
Excel VBA シート名変更時、重...
-
Google スプレッドシート:FILT...
おすすめ情報