
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で質問しましょう!
似たような質問が見つかりました
- Aフォルダにあるエクセルの表をBフォルダへ映したい【表題じだけする】
- エクセルのフィルターを複数シートに連動させたいです。 エクセルファイルに15シートあります。 そのう
- 何方か知恵をください… 下記のシート1にシート2のDATAを表示させたいです。 (シート1の2行目の
- Excel VBAの書き方
- ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます
- エクセルで割り振りをする方法
- エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望
- ワードのマクロについて教えてください。
- エクセル関数について
- EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルで多数のシートをまとめる方法
Excel(エクセル)
-
複数のエクセルブックをひとつのブックにまとめる方法
Visual Basic(VBA)
-
エクセルで複数のシートを別ファイルに分けたい
Excel(エクセル)
-
-
4
エクセル シートのグループ化 編集のグループ化 ではなく 下部のタグの見栄えをグループ化 できないか
Access(アクセス)
-
5
エクセル 非表示のシートをハイパーリンクで表示できますか?
Excel(エクセル)
-
6
複数行選択する際、行間を選択するとフリーズします。
その他(Microsoft Office)
-
7
エクセルシートのタブの階層化表示
Excel(エクセル)
-
8
【Excel】特定の文字を含むセルをカウントしない方法
Excel(エクセル)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
奥さんの体に飽きた人、どうしてる?
風俗
-
11
文字の色も参照 VLOOKUP
Access(アクセス)
-
12
エクセルのシー名を二段表示にできないか
その他(コンピューター・テクノロジー)
-
13
excel2003 罫線だけを保護したい
Excel(エクセル)
-
14
「弊社○○のご紹介で初めてご連絡差し上げました」であってますか?
日本語
-
15
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
16
エクセルで図形やワードアートもリスト選択できますか?
Word(ワード)
-
17
パワーポイントで作図した図を全体的に小さくしたい
PowerPoint(パワーポイント)
-
18
0.5時間などの時間計算の方法
その他(家事・生活情報)
-
19
エクセルで別シートの同じ位置にオブジェクトをコピーしたい
その他(Microsoft Office)
-
20
開いたとき常に同じ大きさ・位置で表示したい
Windows 7
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
建築模型、カーブの作り方
-
エクセルで複数のシートをフォ...
-
原付 レッツシート開け方
-
電車のシートって何でこんな暑...
-
括弧があるとHYPERLINKで飛べな...
-
リアシート無しで運転してたら...
-
癒着してしまったテレビの液晶...
-
ポップコーンの捨て方
-
エスティマのコンソールボック...
-
エクセルVBA 4行飛ばしで転記す...
-
アドレスV100のガソリン給油口...
-
カッティングシートの上からア...
-
不透明の窓ガラスの内側へ、断...
-
クロネコメール便で株主優待券発送
-
スプレッドシートで、2つのシー...
-
台所流しの水音を小さくしたい
-
IHクッキングヒーターの操作パ...
-
粘土板に付かないようにするには
-
車のシートがへたってきました...
-
シートベルトの固定解除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートをフォ...
-
括弧があるとHYPERLINKで飛べな...
-
建築模型、カーブの作り方
-
電車のシートって何でこんな暑...
-
原付 レッツシート開け方
-
快速うれシートはオワコンですか?
-
原付きを駐輪場に置いてると、...
-
リアシート無しで運転してたら...
-
エクセルVBA 4行飛ばしで転記す...
-
BRIDEのシート張り替えってでき...
-
ポップコーンの捨て方
-
Excel VBA シート名変更時、重...
-
マクロの別シートのデータ振り...
-
シートベルトの固定解除
-
癒着してしまったテレビの液晶...
-
成約を別シートに反映させる方法
-
フォルツァ バッテリーを外して...
-
メルセデスベンツ
-
EXCEL VBA 複数のシートに同じ...
-
車のシートでおもらし
おすすめ情報