0
ブック内の各ワークシートの名前を一覧表示するディレクトリ内の各フォルダとサブフォルダを参照するコードを記述しようとしています。多くの時間とこのフォーラムの記事の助けを借りて、私はこれまでに得たが、まだ動作しているマクロを持っていない。私は確信していると確信して、私はゴアのために謝罪しますが、誰もそれが動作していない理由を知っていますか?ありがとう!マクロを使用してフォルダとサブフォルダ内のすべてのワークシートを一覧表示する
Option Explicit
Sub marines()
Dim FileSystem As Object
Dim HostFolder As String
Dim OutputRow
OutputRow = 2
HostFolder = "G:\EP\Projects\"
Set FileSystem = CreateObject("Scripting.FileSystemObject")
DoFolder FileSystem.GetFolder(HostFolder)
End Sub
Sub DoFolder(Folder)
Dim SubFolder
Dim Workbook As Variant
Dim wb As Workbook
Dim ws As Worksheet
Dim HostFolder
Dim OutputRow
OutputRow = 2
FileType = "*.xls*"
For Each SubFolder In Folder.SubFolders
DoFolder SubFolder
Next
For Each Workbook In Folder.SubFolders
ThisWorkbook.ActiveSheet.Range("A" & OutputRow).Activate
OutputRow = OutputRow + 1
Curr_File = Dir(HostFolder & FileType)
Do Until Curr_File = ""
For wb = wb.Open(HostFolder & Curr_File, False, True)
ThisWorkbook.ActiveSheet.Range("A" & OutputRow) = ThisWorkbook.Name
ThisWorkbook.ActiveSheet.Range("B" & OutputRow).ClearContents
OutputRow = OutputRow + 1
Set Each ws In wb.Sheets
ThisWorkbook.ActiveSheet.Range("B" & OutputRow) = ws.Name
ThisWorkbook.ActiveSheet.Range("A" & OutputRow).ClearContents
OutputRow = OutputRow + 1
Next ws
wb.Close SaveChanges:=False
Next
End Sub
Webでこれを行う方法については、すでに多くの実例があります。あなたのタイトルをグーグルに差し込むだけで私にはかなりの数が与えられました。 –
何が問題なのですか?間違いはありますか?ワークシートに結果を表示せずに実行するだけですか?エラーがあれば、それはあなたに "Debug"のオプションを与えますか?もしそうなら、どの行のコードが強調表示されますか? – Blackhawk
また、 "Set Each ws In wb.Sheets"とは何ですか?グーグルで「VBAのために...」 – Blackhawk