我有一个XLTM模板和一个xlsx工作簿。
XLSX工作簿大约有300-400张。
我希望将表格从XLSX复制到XLSM模板。
最快的方法是什么?
我希望使用相同的工作表名称和格式以及值。
以下是我正在使用的代码的副本,
For k = 1 To xlWkb.Worksheets.Count
xlWkb.Activate
xlWkb.Sheets(k).Select
xlWkb.Sheets(k).Cells.Copy
xlWkb2.Activate
xlWkb2.Sheets("Sheet" & k).Select
xlWkb2.Sheets("Sheet" & k).Range("A1").Select
xlWkb2.ActiveSheet.Paste ' changes the column width and all, I want those formats
xlWkb2.Sheets("Sheet" & k).Name = xlWkb.Sheets(k).Name
Next
答案 0 :(得分:3)
首先,删除对其有Activate
和Select
的行,并将其重组为:
For k = 1 To xlWkb.Worksheets.Count
xlWkb.WorkSheets(k).Cells.Copy
xlWkb2.WorkSheets("Sheet" & k).Range("A1").Paste
xlWkb2.WorkSheets("Sheet" & k).Name = xlWkb.WorkSheets(k).Name
Next
答案 1 :(得分:2)
请找下一个API
Sheets("SheetName").Copy Before:=Workbooks("WorkbookName").Sheets(1)
Workbooks("WorkbookName").Sheets(1).Name = Sheets("SheetName").Name
此方法使用格式,范围名称,值,公式等复制整个工作表。