
エクセルで一つのファイルを作成しました。
ファイル内には複数のシートが存在しています。
最後のページに印刷用のシートを作成させ、各シートからデータを抽出させて印刷できるようにしました。
方法としては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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シートを任意の日付で自動で作...
-
日報をエクセルで作成したいの...
-
エクセルで複数設定したハイパーリンク先...
-
別シート参照のセルをシート毎...
-
Excelで金銭出納帳。繰越残高を...
-
EXCELで1ヶ月分の連続した日付...
-
複数シートの色付きセルがある...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
Excelのシートを、まとめて表示...
-
エクセルでファイルを開いたと...
-
至急お願いします。エクセルシ...
-
エクセルで前のシートを連続参...
-
Accessのスプレッドシートエク...
-
エクセルで複数シートを別のシ...
-
【Excel関数】値が合致するセル...
-
シート1に列挙したNGワードを...
-
VBAでシートコピー後、シート名...
-
複数のシートの同じセルに入力...
-
エクセルで、「1つ前のシート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別シート参照のセルをシート毎...
-
エクセルの複数シートの保護を...
-
エクセルで前シートを参照して...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
EXCEL:同じセルへどんどん足し...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
EXCELで1ヶ月分の連続した日付...
-
エクセル 計算式も入っていない...
-
シートの保護のあとセルの列、...
-
特定のシートの削除を禁止した...
-
Excel、同じフォルダ内のExcel...
-
エクセルVBAでパスの¥マークに...
-
VBAでシートコピー後、シート名...
-
エクセルで複数設定したハイパーリンク先...
-
VBAで条件によりフォントサイズ...
-
excelでシート毎の最終更新日を...
-
シートを任意の日付で自動で作...
おすすめ情報