![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
エクセルで一つのファイルを作成しました。
ファイル内には複数のシートが存在しています。
最後のページに印刷用のシートを作成させ、各シートからデータを抽出させて印刷できるようにしました。
方法としては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(エクセル)
-
5
すべてのシートを選択してエクセルの入力規則
Excel(エクセル)
-
6
エクセルで複数シートのセルに同じ名前の定義を
Excel(エクセル)
-
7
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
8
エクセルで複数シートを別のシートに一覧表として自動で反映されるようにしたいです。
Excel(エクセル)
-
9
エクセルVBAでMsgboxの表示をそろえたい
Excel(エクセル)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
エクセルへのデータの貼付時に書式が反映されない!
Visual Basic(VBA)
-
12
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
13
他のワークシート名の取得方法 (VBAを使用せずに)
Excel(エクセル)
-
14
【Excel】 SUMPRODUCT関数の高速化
Excel(エクセル)
-
15
文字列から英数字のみを抽出する関数
Excel(エクセル)
-
16
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
17
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
18
シングルクリックとダブルクリックのイベントについて
Access(アクセス)
-
19
エクセルの質問。 対象範囲の中で、一番下に位置する値を返す関数。
Excel(エクセル)
-
20
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでファイルを開いたと...
-
エクセルVBAでパスの¥マークに...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
Excelで同じシートのコピーを一...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの特定の位置に連番...
-
EXCEL:同じセルへどんどん足し...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
EXCELで1ヶ月分の連続した日付...
-
Accessのスプレッドシートエク...
-
エクセルVBA 串刺し計算の際、...
-
エクセルで前シートを参照して...
-
Excel、同じフォルダ内のExcel...
-
エクセルの複数シートの保護を...
-
特定のシートの削除を禁止した...
-
シートの保護のあとセルの列、...
-
シートを追加・名前を次月に変...
-
Excelのシートを、まとめて表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
複数シートの特定の位置に連番...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
おすすめ情報