
エクセルで一つのファイルを作成しました。
ファイル内には複数のシートが存在しています。
最後のページに印刷用のシートを作成させ、各シートからデータを抽出させて印刷できるようにしました。
方法としてはA1にシート名を入力して、各セルに=INDIRECT($A$1&"!L8")のようなリンクを張りました。
今度はA1に打ち込むシート名をリストで選べないかと思いましたが、方法はありますか?
シートの数は30ほどあり、シート名は変更がでます。そのたびにリストを変更するのは手間なので、何かいい方法はありますか?よろしくお願いします。
No.2ベストアンサー
- 回答日時:
1)各シートに、下記数式を入れる(シート名が表示されます)
=MID(CELL("FILENAME",A1),FIND("]",CELL("FILENAME",A1))+1,99)
2)印刷用シートで、各シートの上記セルを参照表示
3)印刷用シートのA1に、「リスト」から選択入力するように入力規則を設定
入力規則 【リスト】同一シート
http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis …
No.3
- 回答日時:
こんばんは。
最後のシートのA1に入力規則ができます。
以下は、Alt + F11 で、VBEditor を開き、プロジェクト・エキスプローラ(窓)の中から、ThisWorkbook をダブルクリックして開き、以下を貼り付けます。シートの名前を変更して、最後のページを開けば、入力規則のリストの中のシート名が変更されています。
'-----------------------------------------------------
'ThisWorkbook モジュール
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i As Integer
Dim n As String
Dim j As Integer
Dim ar As Variant
Dim Vl As Validation
Dim flg As Boolean
With ThisWorkbook
If Sh.Index <> .Worksheets.Count Then Exit Sub
j = .Worksheets.Count
Set Vl = .Worksheets(j).Range("A1").Validation
ar = Split(Vl.Formula1, ",")
For i = 1 To j - 1
n = n & "," & .Worksheets(i).Name
If ar(i - 1) <> .Worksheets(i).Name Then
flg = True
End If
Next
Set Vl = Nothing
If flg = False Then Exit Sub '変更がない場合
With .Worksheets(j).Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Mid$(n, 2)
End With
End With
End Sub
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) 3つのエクセルをそれぞれのシートのセルに反映させたいときはどうしたらいいでしょうか? 例えば①シート 4 2023/04/25 20:13
- Excel(エクセル) エクセル 別シートの各セルそれぞれの比率を計算したい 4 2023/08/05 15:20
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel2019 シート名をプルダウンで選択したいです
Excel(エクセル)
-
Excel VBA シート名をすべて取得し、一覧をシートに入力したい
Visual Basic(VBA)
-
◆エクセル◆プルダウンの文字列でシート名指定
Excel(エクセル)
-
-
4
Excelの入力規則で2列表示したい
Excel(エクセル)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
空白のないドロップダウンリストの作り方
Excel(エクセル)
-
7
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
8
エクセル関数>参照ファイル名をセルから呼び出す
Excel(エクセル)
-
9
ExcelのVBA 正規表現でタブを利用するには?
Excel(エクセル)
-
10
文字列から英数字のみを抽出する関数
Excel(エクセル)
-
11
Excel にて条件付き書式の色にさらに上塗りをしたいです。
Excel(エクセル)
-
12
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセル、シートの並び替え
-
別シート参照のセルをシート毎...
-
エクセルで前シートを参照して...
-
前の(左隣の)シートを連続参...
-
エクセルの複数シートの保護を...
-
エクセル 計算式も入っていない...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルマクロ シート名称変...
-
シートを任意の日付で自動で作...
-
シートを追加・名前を次月に変...
-
EXCEL:同じセルへどんどん足し...
-
Excel VBAにおいてvlookup関数...
-
2つのシートを関連づけるには?
-
日付をカウントする関数を教え...
-
エクセルシートのまとめ方
-
EXCEL VBA で教えてください。...
-
エクセルである表を作成してい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルで前シートを参照して...
-
Excel、同じフォルダ内のExcel...
-
特定のシートの削除を禁止した...
-
EXCEL:同じセルへどんどん足し...
-
エクセル 計算式も入っていない...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの特定の位置に連番...
-
エクセルでファイルを開いたと...
-
シートの保護のあとセルの列、...
-
Accessのスプレッドシートエク...
-
VBAで条件によりフォントサイズ...
-
VBAでシートコピー後、シート名...
-
エクセルで前のシートを連続参...
-
エクセルVBAでパスの¥マークに...
-
EXCELで同一フォーマットのシー...
-
Excelで同じシートのコピーを一...
おすすめ情報