VBA如何把多个工作薄的第一个工作表M2到W2单元格的内容合并到一个工作薄中?

VBA如何把多个工作薄的第一个工作表M2到W2单元格的内容合并到一个工作薄中?

第1个回答  2023-10-05
多个工作薄是一个文件夹内的所有,是否共享
第2个回答  2023-11-02
用VBA把多个工作薄的第一个工作表M2到W2单元格的内容合并到一个新工作薄中方法如下:
第一步,先把要合并的工作簿复制到一个新建文件夹中。
第二步,新建一个工作簿文件。打开它,并按ATL+F11调用VBA编辑器。插入一个新模块。
第三步,把下面的代码复制到新模块中。F5运行它。查看结果。
Sub HBWorkbooks()
Dim path As String
Dim filename As String
Dim wb As Workbook
Dim ws As Worksheet
Dim targetWS As Worksheet
Dim copyRange As Range
Dim lastRow As Long
'设置目标工作簿
Set targetWS = ThisWorkbook.Sheets.Add
targetWS.Name = "合并结果"
'获取当前工作簿的目录
path = ThisWorkbook.Path
'遍历目录下的所有工作簿

filename = Dir(path & "*.xlsx")
Do While filename <> ""
'打开工作簿
Set wb = Workbooks.Open(path & "\" & filename)
'复制第一个工作表的M2到W2单元格内容到目标工作簿
Set ws = wb.Sheets(1)
Set copyRange = ws.Range("M2:W2")
copyRange.Copy targetWS.Range("A" & Rows.Count).End(xlUp).Offset(1)
'关闭工作簿
wb.Close SaveChanges:=False
'获取下一个文件名

filename = Dir()
Loop
MsgBox "合并完成!"
End Sub
注意,如果原工作簿类型是XLSX,运行此代码。如果是XLS,则需要把此行内的类型修改filename = Dir(path & "*.xlsx") 。当然,也可以不改此行代码,而是对原文件类型更改,也是可以的。由你选择哪种方式了。
相似回答