- ベストアンサー
VBAを使い、同一フォルダにあるファイルの特定のシートの情報を取得したい
- VBAを使用して、同じフォルダ内にある特定の文字列を含むファイルの特定のシートから情報を取得する方法についてご質問です。
- Xというエクセルファイルと同じフォルダ内に存在する、ファイル名に特定の文字列(例えば「月報」)を含む全てのエクセルファイルの、特定の文字列(例えば「○年○月」)を含んだ全シートの、一定のセル範囲を一つのシートにまとめる方法を教えてください。
- 環境はxp、エクセル2003で、同一フォルダにある特定の文字列を含むファイルの特定のシートから、一定のセル範囲の情報を取得し、まとめたいと考えています。VBAを使用して実現する予定ですが、具体的な方法を教えていただけないでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
試しにマクロを組んでみました。 使えるところがあれば利用してください。 Sub test() Dim myPath As String Dim myDir As String Dim myFile As String Dim myWS As Worksheet myPath = "D:\Exceldata\" myFile = Dir(myPath, vbNormal) Application.ScreenUpdating = False Do Until myFile = "" If myFile <> "." And myFile <> ".." Then If (GetAttr(myPath & myFile) And 16) <> 16 Then If myFile Like "教えて*" Then Workbooks.Open myDir & myFile For Each myWS In Workbooks(myFile).Worksheets If myWS.Name Like "Sheet*" Then MsgBox myFile & vbCrLf & _ myWS.Name & vbCrLf & _ "A1のデータ: " & myWS.Range("A1").Value End If Next Workbooks(myFile).Close SaveChanges:=False End If End If End If myFile = Dir Loop Application.ScreenUpdating = True End Sub
お礼
回答いただきありがとうございます。 >myPath = "D:\Exceldata\" は、フォルダを入れればいいのですよね? >If myFile Like "教えて*" Then にはファイル名に含まれる文字列を入れればいいんですよね? 色々試してみましたがなかなか動きません。 というか私がコードを理解していないようです・・・・ もう少し色々試してみたいと思います。 ありがとうございます。 あと、すいません。使っているのはエクセル2000でした。