关闭Excel宏中的计算不起作用

时间:2020-02-19 11:00:59

标签: excel vba

我有一个很大的电子表格,其中的计算需要设置为自动。我正在尝试使用下面的代码在另一个工作簿中创建工作表并粘贴数据。

每当我运行代码时,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

0 个答案:

没有答案