ホーム > Excel > Excelの複数ファイルのシート名一覧を作成

Excelの複数ファイルのシート名一覧を作成

2011 年 2 月 4 日 コメントをどうぞ コメント
このエントリーをはてなブックマークに追加
Bookmark this on Yahoo Bookmark

フォルダ内にあるExcelファイルについてすべてのシート名を取得して一覧にするマクロです。
実行すると対象となるフォルダの問い合わせがあり、そのフォルダにあるExcelファイルをすべてピックアップします。それらを開いてすべてのシート名を取得し閉じます。結果はアクティブになっているシートに貼り付けますので白紙のシートを開いてから実行してください。
なお、そのフォルダの下の階層のファイルについては対応していません。Word2007で確認しました。

Sub シート名一覧の作成()
    Dim fn(1000)
    Dim sn(10000, 10)
   
    'フォルダの選択
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "フォルダを選択"
        .AllowMultiSelect = False
        If .Show = -1 Then
            mypath = .SelectedItems(1) & "\"
        Else
            Exit Sub
        End If
    End With
   
    'ファイル名の取得
    fn(1) = Dir(mypath, vbDirectory)
    i = 1
    Do
        i = i + 1
        fn(i) = Dir
    Loop Until fn(i) = ""
   
    'シート名の取得
    x = 0
    For j = 1 To i - 1
        ext = Mid(fn(j), InStrRev(fn(j), ".") + 1, 3)
        If ext = "xls" Then
            Workbooks.Open Filename:=fn(j)
            For k = 1 To Sheets.Count
                sn(x, 1) = fn(j)
                sn(x, 2) = Sheets(k).Name
                x = x + 1
            Next k
            ActiveWorkbook.Close
        End If
    Next j
       
    'シート名一覧の作成
    Cells.ClearContents
    Cells(1, 1) = mypath
    Cells(3, 1) = "ファイル名"
    Cells(3, 2) = "シート名"
    x = 0
    Do
        Cells(x + 4, 1) = sn(x, 1)
        Cells(x + 4, 2) = sn(x, 2)
        x = x + 1
    Loop Until sn(x, 1) = ""
End Sub
カテゴリー: Excel タグ: ,
  1. ゆきこ
    2011 年 12 月 18 日 20:10 | #1

    すいません 教えて下さい 一つのフォルダの中に12くらいのブックがあり、その12位のブックの中に30枚位ずつシートがあります。例えばそのフォルダの中で エクセルの標準についている 検索 を「カーテン」という言葉でかけても ブック名までは検索結果に出て来ますが シート名までは出てこないので、結局は検索結果に出てきた ブック名を開いて そのブックの中で 又検索をかけて どのシートなのかを探して…と一苦労なので、 大きなフォルダの中にある 360くらいあるシートの 全一覧表があって、そしてその中のシート名で 「カーテン」と付いている名前を 検索して出てきた そのシート名をポンと押したら、そのシートにパッと飛べる…なんて事は できるものは ないのでしょうか?すみません 教えていただけないでしょうかm(__)m

  2. 2011 年 12 月 22 日 08:52 | #2

    返事が遅くなり申し訳ありません。
    できるかどうか分かりません。
    ちょっと考えさせてください。

  3. 2011 年 12 月 22 日 20:55 | #3

    @ゆきこ
    作ってみました。
    記事に書きましたので試してみてください。
    http://stabucky.com/wp/archives/3606

  1. トラックバックはまだありません。