我有一个宏,它将复制工作表,然后将其另存为新文件。
但是,我想复制两个工作表,然后将它们合并为一个,但是这些工作表位于两个不同的工作簿中。
例如:workbook1包含2个工作表(worksheet1,worksheet2)workbook2包含3个工作表(worksheet1,worksheet2,worksheet3)
我想复制workbook1的worksheet1和workbook2的worksheet1。然后合并它们,因为它们都具有相同的表格格式。
我不知道 我只知道如何从同一工作簿复制多个工作表。我也知道如何组合它们,这是我唯一的问题,我该如何从不同的工作簿(即workbook1和workbook2)中复制两个worksheet1
我只有用于复制数据的简单代码。顺便说一下,这是我的代码:
saveFolder = "C:\Document\Macro"
path = "C:\Document\Workbook1"
fname = "Sample Account.xlsx"
Workbooks.Open path & fname
Sheets("Account1").Copy
ActiveWorkbook.SaveAs saveFolder & "\Conso.xlsx", FileFormat:=51
Workbooks(fname).Close
另一个文件位于文件夹Workbook2上,文件名是“其他帐户”
此VBA(宏)代码将帮助您从“源工作簿”中复制您选择的工作表,以合并到“活动书”中。
该代码是交互式的,而不是标准的,这使代码具有通用性。
Sub CombineSheets()
Dim sPath As String
Dim sFname As String
Dim wBk As Workbook
Dim wSht As Variant
Application.EnableEvents = False
Application.ScreenUpdating = False
sPath = InputBox("Enter File Path Of Source Workbook(s)")
ChDir sPath
sFname = InputBox("Enter the Filename")
sFname = Dir(sPath & "\" & sFname & ".xl*", vbNormal)
wSht = InputBox("Enter Worksheet Name To Copy")
Do Until sFname = ""
Set wBk = Workbooks.Open(sFname)
Windows(sFname).Activate
Sheets(wSht).Copy Before:=ThisWorkbook.Sheets(1)
wBk.Close False
sFname = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
这个怎么运作:
注意,最好复制并粘贴文件路径。
然后询问工作簿的名称,您也可以使用通配符,也可以使用工作簿的名称,例如Myworkbook
。
最后,它要求复制工作表名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句