我正在尝试编写一个脚本,它将遍历100多个工作簿,这些工作簿都位于同一目录中。我想要做的是从每个工作簿中提取一个工作表并将它们复制到一个主工作簿。我要提取的工作表在目录中的所有100多个工作簿中具有完全相同的名称。
到目前为止,我有这个,但对VBA来说还是一个新手我不确定我是否在某个地方出错:
Sub AllFiles()
Dim folderPath As String
Dim filename As String
Dim wb As Workbook
folderPath = "C:\Resan\Bournemouth Parking\Survey Data\" 'change to suit
If Right(folderPath, 1) <> "\" Then folderPath = folderPath + "\"
filename = Dir(folderPath & "*.ped")
Do While filename <> ""
Application.ScreenUpdating = False
Set wb = Workbooks.Open(folderPath & filename)
'Call 'name of your other macro here
'End Sub
答案 0 :(得分:0)
你的问题很模糊,但是在用路径调用Dir()
一次后,你需要在没有参数的情况下重复调用它,以便它继续在同一位置循环。
filename = Dir(folderPath & "*.ped")
Do While filename <> ""
'Application.ScreenUpdating = False
Set wb = Workbooks.Open(folderPath & filename)
filename = Dir()
Loop
您也只需要关闭ScreenUpdating
一次,但在测试和修复代码时我会注释掉这一行。