フォルダ内全ファイルからデータを取得する方法
お力をお貸しください。
下記のようなコードを書きました。*ドライブにあるフォルダ内全ファイルからデータを取得して、一つの表にまとめようとしています。
が、Workbooks.Open sFileで、「ファイルが存在しません」というエラーがでます。
変数を確認しましたが、きちっと呼び込んでいるのに、ファイルが存在しないとなるのが分かりません。
ここで、データの最終行を取得するのに、ややっこしいコードを書いているのは、データが虫食い状態で、全部のセルが埋まっているのはC列しかないため、このようなことになっています。
よろしくお願いします。
Sub Macro1()
Dim FName As String, FPath As String, cnt As Long, r As Long, m As Long, MyMonth As String
Dim LastRows As Long
Set Wsh = CreateObject("Wscript.Shell")
Set Wsh = Nothing
m = Range("A1").Value - 1
MyMonth = m & "月"
FPath = "*:\" & MyMonth & "\"
ChDir FPath
FName = FPath & "*.xls"
sFile = Dir(FPath & "*")
' 画面更新オフ
Application.ScreenUpdating = False
With ThisWorkbook.Sheets(1)
LastRows = Cells(Rows.Count, 1).End(xlUp).Row + 1
Do While sFile <> ""
If sFile <> ThisWorkbook.Name Then
Workbooks.Open sFile
cnt = Cells(Rows.Count, 3).End(xlUp).Row + 1
ActiveSheet.Range("A1:" & "M" & cnt).Copy Destination:=ThisWorkbook.Sheets(1).Cells(LastRows, 1)
ActiveWorkbook.Close SaveChanges:=False
sFile = Dir()
End If
Loop
End With
'画面更新オン
Application.ScreenUpdating = True
''名前をつけて保存
'
' Application.DisplayAlerts = False
' Filedate = Format(Date, "yyyymm")
' ActiveWorkbook.SaveAs Filename:=FPath & "\" & Filedate & ".xls"
' Application.DisplayAlerts = True
'
''画面更新オン
'Application.ScreenUpdating = True
'
'
End Sub
補足
回答ありがとうございます。 現在開いているファイルはデスクトップにあり、ファイル名は「テンプレート.XLS」です。 マクロは色々なブックで使用したいため、XLCALS.XLM(個人用みたいなものだと思うのですが)に保存しています。