[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数シートのシート名と特定セルの内容をリストに』(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.