我有一个很大的电子表格,其中的计算需要设置为自动。我正在尝试使用下面的代码在另一个工作簿中创建工作表并粘贴数据。
每当我运行代码时,Excel都会重新计算,因此宏需要很长时间才能运行。当我将计算切换为手动时,它会立即运行。
为解决此问题,我在代码中添加了Application.Calculation行,但是每当我运行宏Excel仍会重新计算。
我是VBA的新手,如果有人可以帮助我解决我做错的事情,我将不胜感激。
谢谢
Sub CreateNewSheet()
Application.Calculation = xlManual
Application.ScreenUpdating = False
With Workbooks("Batsmen.xlsx").Worksheets.Add()
.Name = Range("E3").Value
End With
Application.ScreenUpdating = True
Call CopyData
Application.Calculation = xlAutomatic
End Sub
Sub CopyData()
Application.Calculation = xlManual
Application.ScreenUpdating = False
Sheets("Summary").Range("A22:J58").Copy
Workbooks("Batsmen.xlsx").Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
Workbooks("Batsmen.xlsx").Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteFormats
Workbooks("Batsmen.xlsx").Sheets(1).Range("A:J").Font.Size = 10
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub