使用宏循环遍历文件夹并将数据从一个Excel工作簿复制到另一个工作簿并另存为新名称的方法如下:
Sub LoopThroughFiles()
Dim SourceFolder As String, DestinationFolder As String
Dim FileName As String, NewFileName As String
Dim SourceWorkbook As Workbook, DestinationWorkbook As Workbook
Dim SourceWorksheet As Worksheet, DestinationWorksheet As Worksheet
' 设置源文件夹和目标文件夹路径
SourceFolder = "源文件夹路径"
DestinationFolder = "目标文件夹路径"
' 获取源文件夹中的所有文件
FileName = Dir(SourceFolder & "\*.xlsx")
' 循环遍历源文件夹中的每个Excel文件
Do While FileName <> ""
' 打开源工作簿
Set SourceWorkbook = Workbooks.Open(SourceFolder & "\" & FileName)
' 获取源工作簿的第一个工作表
Set SourceWorksheet = SourceWorkbook.Worksheets(1)
' 创建新文件名
NewFileName = "新文件名" & Format(Now, "yyyymmddhhmmss") & ".xlsx"
' 复制源工作表到目标工作簿
SourceWorksheet.Copy
' 设置目标工作簿
Set DestinationWorkbook = ActiveWorkbook
Set DestinationWorksheet = DestinationWorkbook.Worksheets(1)
' 另存为新文件名
DestinationWorkbook.SaveAs DestinationFolder & "\" & NewFileName
' 关闭工作簿,不保存更改
DestinationWorkbook.Close False
' 关闭源工作簿
SourceWorkbook.Close
' 获取下一个文件名
FileName = Dir
Loop
' 提示完成
MsgBox "操作完成!"
End Sub
上述VBA宏代码将会遍历指定的源文件夹中的所有.xlsx文件,并逐个打开、复制到新的工作簿、另存为新文件名,并将新文件保存到指定的目标文件夹中。
请注意,这个宏只适用于遍历源文件夹中的.xlsx文件。如果有其他文件格式的需求,需要在代码中进行相应的修改。
腾讯云相关产品和产品介绍链接地址暂不提供。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云