
エクセルで一つのファイルを作成しました。
ファイル内には複数のシートが存在しています。
最後のページに印刷用のシートを作成させ、各シートからデータを抽出させて印刷できるようにしました。
方法としては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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Excel VBA シート名をすべて取得し、一覧をシートに入力したい
Visual Basic(VBA)
-
◆エクセル◆プルダウンの文字列でシート名指定
Excel(エクセル)
-
Excel2019 シート名をプルダウンで選択したいです
Excel(エクセル)
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
6
【エクセル】ドロップダウンリスト(入力規則)の参照元を別シートに作るには?
Excel(エクセル)
-
7
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
8
他のワークシート名の取得方法 (VBAを使用せずに)
Excel(エクセル)
-
9
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
10
EXCEL:入力規則の「リスト」は別シートを参照できない
Excel(エクセル)
-
11
すべてのシートを選択してエクセルの入力規則
Excel(エクセル)
-
12
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
13
押したボタンの位置取得(共通のマクロ)
Excel(エクセル)
-
14
エクセルファイルのシート毎の容量
Excel(エクセル)
-
15
エクセルで複数シートを別のシートに一覧表として自動で反映されるようにしたいです。
Excel(エクセル)
-
16
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
17
シート番号からシート名を取得する
Excel(エクセル)
-
18
Excelの入力規則で2列表示したい
Excel(エクセル)
-
19
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
20
VBA シートのボタン名を変更したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
複数シートの特定の位置に連番...
-
5
別シート参照のセルをシート毎...
-
6
エクセルでシート名を自動入力...
-
7
excelでシート毎の最終更新日を...
-
8
エクセルで「ウィンドウを元の...
-
9
EXCELで同一フォーマットのシー...
-
10
エクセルで複数シートを別のシ...
-
11
シート番号からシート名を取得する
-
12
別シートの最終行に貼り付けす...
-
13
EXCEL:同じセルへどんどん足し...
-
14
エクセルVBAでパスの¥マークに...
-
15
Excelで金銭出納帳。繰越残高を...
-
16
エクセルif関数で、複数のシー...
-
17
EXCELで1ヶ月分の連続した日付...
-
18
エクセル 計算式も入っていない...
-
19
エクセルで前シートを参照して...
-
20
VBAでシートコピー後、シート名...
おすすめ情報
公式facebook
公式twitter