[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数シートのシート名と特定セルの内容をリストに』(taka)
[複数シートのシート名と特定セルの内容をリストにしたい]
ブックに同一フォーマットのシート284枚があります(ちなみにブックのサイズ12200KB)。シート名と特定セルの内容を一覧表に作成したいのです。例えば、シート名”1-1-1 ”のセルA2・・・・・シート名”20-20-5”のセルA2の内容をリストにする。
ご存知の方がいらっしゃいましたらぜひ教えて頂きたく、よろしくお願い致します。
一覧シートを一番左側へ設定してください。
「挿入」>「名前」>「定義」で
名前 : シート名一覧
参照範囲: =GET.WORKBOOK(1)&REPT("",NOW()*0)
とします。
A2からリスト作成する場合はA2へ
=IF(ISERROR(INDEX(シート名一覧,ROW(A2))),"",MID(INDEX(シート名一覧,ROW(A2)),FIND("]",INDEX(シート名一覧,ROW(A2)))+1,31))
B2へ
=IF(A2="","",INDIRECT(A2&"!A2"))
と入力して、A2とB2の数式を適当な範囲へコピー貼付。
(KAMIYA)
一覧表のシートを参照しないように少し修正しました。
再計算時にシート名を再取得できるように修正しました。
たびたびゴメンナサイ。
(KAMIYA)
マクロならこんな感じで、、
Bookの一番左側のシートのC1D1に一覧表を作ります。
あまり、ぱっとしませんが、清水の舞台からもなれましたので、、(>_<)
(夏目雅子似)
Sub シート名一覧()
Dim Wsn As String
Dim i As Integer
Application.ScreenUpdating = False
If Sheets.Count = 1 Then Exit Sub
Sheets(1).Range("C1", Range("D65336").End(xlUp)).ClearContents
For i = 2 To Sheets.Count
Wsn = Sheets(i).Name
Sheets(1).Cells(i - 1, 3).Value = Wsn
Sheets(1).Cells(i - 1, 4).Value = Sheets(i).Range("A2").Value
Next
Application.ScreenUpdating = True
End Sub
失礼しました。取りあえず↓ Sheets(1).Cells(i - 1, 3).Value = Wsn ↓ Sheets(1).Cells(i - 1, 3).Value = "'" & Wsn として’を付けてみてはどうでしょう? (夏目雅子似)
数式の場合は以下へ変更してみてください。
=IF(A2="","",INDIRECT("'"&A2&"'!A2"))
(KAMIYA)
(ec3) 2013/12/09(月) 10:28
[XL2003]シート名に関する仕様および制限について ・Excel 95 および Excel 5.0 では、最大 31 バイト (半角文字で 31 文字。全角文字のみ使用の場合は 15 文字。) のシート名を 設定することができます。 ・Excel 97 以降のバージョンでは、全角、半角文字に関わらず最大 31 文字のシート名を 設定すること ができます http://support.microsoft.com/kb/436482/ja ですね。 今後どうなるかはわからないですが。 (HANA) 2013/12/09(月) 10:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.