【发布时间】:2018-10-18 20:16:43
【问题描述】:
我有 2 个文件夹,一个源文件夹和一个目标文件夹。 我想将位于源文件夹中的每个 excel 源文件的位置 1 中的工作表复制到位于目标文件夹中的相应目标 excel 文件中。 为方便起见,文件名称相同,只是位于不同的文件夹中。
我在下面编写了仅适用于单个源文件和目标文件的脚本。脚本将位置 1 表从源复制到目标并重命名。
Sub MassCopy()
Dim wbk As Workbook
Dim SheetName
Dim Position
Dim SourceFile, DestinationFile
SheetName = "test_sheet"
Position = 1
SourceFile = "test1.xlsx"
DestinationFile = "test2.xlsx"
Windows(SourceFile).Activate
Sheets("Sheet1").Select
Sheets("Sheet1").Copy After:=Workbooks(DestinationFile).Sheets(Position)
Set wsNew = Sheets(Sheets(Position).Index + 1)
wsNew.Name = SheetName
End Sub
是否可以使其适用于源/目标文件夹中的每个文件?
【问题讨论】:
-
是的。搜索“遍历文件夹中的文件+VBA”。
-
我找到了使用 Dir 的示例,但我读过它只适用于一个目录。事实上,如果我在同一个宏中使用一个 Dir 来打开源文件夹,而另一个 Dir 用于目标,则会出现问题