最近,我遇到了一个似乎很难解决的问题,但我是VBA的新手,因此我需要任何建议。 我正在尝试在VBA中编写一个复制非常大的工作表(大约140k行)的宏。
我根据以下主题尝试了不同的方法:
我目前的解决方案是:
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Dim wb As Workbook
Set wb = ActiveWorkbook
With Workbooks.Open(FileName, ReadOnly:=True)
.Sheets(1).Visible = -1
.Sheets(1).Copy before:=wb.Sheets(1)
wb.Sheets(1).Name = "Name"
.Close False
End With
当我运行此宏时 - Excel没有响应,程序没有打开文件。我的问题是,是否有可能使用标准VBA方法复制大表?代码示例对于较小的文件非常适用。
答案 0 :(得分:0)
尝试。它对我来说很好。
Sub rten()
Dim wb As Workbook
Dim docname As String
docname = "test1"
Set wb = ActiveWorkbook
With Workbooks.Open(docname, ReadOnly:=True)
.Sheets(1).Visible = -1
.Sheets(1).Copy before:=wb.Sheets(1)
wb.Sheets(1).Name = "Name"
.Close False
End With
End Sub
可能是因为你有一张名为"姓名"它崩溃了。你有没有检查过你是否已经拥有它?