エクセルのVBAに関する質問です。
「指定フォルダ(ここではXXXX)内の全てのエクセルファイルを開き、内容を転記していく」
というマクロについての質問です。
ネットを参照し、以下のマクロを見つけました。
--------------------------------------------------------------------------
Sub Macro1()
Dim theName As String
Dim theDir As String
Dim theBook As Workbook
Dim flg As Boolean
flg = True
Application.ScreenUpdating = False
theDir = ThisWorkbook.Path & "\XXXX"
theName = Dir(theDir & "\*.xls")
Do While theName <> ""
Set theBook = Workbooks.Open(theDir & "\" & theName)
Call subA(theBook, flg)
flg = False
theBook.Close
theName = Dir
Loop
End Sub
Sub subA(theBook As Workbook, flg As Boolean)
Dim thetbl As Range, LRow As Long
Set thetbl = theBook.Sheets(1).Range("A1").CurrentRegion
thetbl.Copy
With ThisWorkbook.ActiveSheet
LRow = .Range("A65536").End(xlUp).Row
If LRow = 1 Then
.Range("A" & LRow).PasteSpecial xlPasteValues
Else
.Range("A" & LRow + 1).PasteSpecial xlPasteValues
End If
End With
Application.CutCopyMode = False
End Sub
--------------------------------------------------------------------------
実際にはこのマクロは上手く動作していますが、1つ疑問があります。
「一度開いたファイルは開かない」というのはどの部分のおかげか、ということです。
当方初心者で、分かりづらい質問かもしれませんが、どうぞご教授お願いいたします。
お礼
初心者で非常に困っていたのですが、リンクも貼って頂き助かりました! 他の皆さまもありがとうございました!