Excel VBA:复制大量的列

我想将工作表中的所有数据复制到另一个新Excel文件的另一个工作表中。 我试过这个:

Set wkb = Workbooks.Add wkb.SaveAs myNewFile ThisWorkbook.Worksheets("Sheet 2").Activate Set Ticker = ThisWorkbook.Worksheets("Sheet 2").Range("A1").CurrentRegion Ticker.Copy wkb.Worksheets(1).Activate Cells(1, 1).PasteSpecial xlPasteAll wkb.Save wkb.Close 

我发现的问题是,当列数很多时(例如从A到OV),它不会工作。 你知道其他的方式吗?

你可以完全跳过剪贴板:

 Set wkb = Workbooks.Add copyAddress$ = ThisWorkbook.Worksheets("Sheet 2").Range("A1").CurrentRegion.Address With wkb .SaveAs myNewFile .Sheets(1).Range(copyAddress).Value = ThisWorkbook.Worksheets("Sheet 2").Range(copyAddress).Value .Save .Close True '// Assuming you would want to save changes End With 

或者你可以复制整个表格:

 Set wkb = Workbooks.Add ThisWorkbook.Sheets("Sheet 2").Copy Before:=wkb.Sheets(1)