如果我夸大我的困境,请道歉。我想确保我的水晶般清澈。
我有一个带有我编写的宏的工作簿,用于分析和合并大量数据。工作簿本身有两个工作表:"数据输入"和"输出"。数据输入在第一行中有宏按钮,因此数据从Cell" A2"开始。输出是最终数据的放置位置,从Cell" A1"开始。
我想要做的是构建宏,用于在单个进程中处理多个原始数据文件。请记住,不会打开任何原始数据文件。只有运行此宏的那个。我想拥有工作簿本身:
答案 0 :(得分:0)
以下将遍历文件夹并将所有文件名添加到数组中,如果它们具有.xlsm扩展名,可以针对您要查找的任何文件进行更改,然后您可以循环遍历该数组以打开每个文件并执行无论你需要什么:
Sub LoopThroughDirectory()
Dim Arr() As String
Dim objFSO As Object
Dim objFolder As Object
Dim objSubFolder As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
FolderPath = "C:\Users\YOU\Documents"
Set objFolder = objFSO.GetFolder(FolderPath)
i = 0
For Each objSubFolder In objFolder.Files
'Debug.Print objSubFolder.Name
If Right(objSubFolder.Name, 4) = "xlsm" Then 'if file extension is = xlsm then add to array
ReDim Preserve Arr(i + 1)
Arr(i) = objSubFolder.Name
i = i + 1
End If
Next
For x = LBound(Arr) To UBound(Arr)
'Go through each file in your array
Next x
End Sub