执行宏而不显示其他工作表

时间:2015-01-14 15:11:06

标签: excel vba excel-vba user-interface

我开发了以下宏来在工作表2中插入新行,并从另一个宏中自动填充此新行。宏正常运行。

Sub AutoFill()
    Worksheets("Sheet2").Unprotect
    Worksheets("Sheet2").Rows("8:8").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Set SourceRange = Worksheets("Sheet2").Rows(9)
    Set fillRange = Worksheets("Sheet2").Range("8:9")
    SourceRange.AutoFill Destination:=fillRange, Type:=xlFillDefault    
    Worksheets("Sheet2").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Worksheets("Sheet2").EnableSelection = xlNoRestrictions
End Sub

我设置在Sheet1上运行宏,我不想在我这样做时显示Sheet2。我该怎么做?

1 个答案:

答案 0 :(得分:1)

关闭screenupdating,但确保在代码完成后再次将其重新打开:

Sub AutoFill()

Application.ScreenUpdating = False
Worksheets("Sheet2").Unprotect

Worksheets("Sheet2").Rows("8:8").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove


    Set SourceRange = Worksheets("Sheet2").Rows(9)
    Set fillRange = Worksheets("Sheet2").Range("8:9")
    SourceRange.AutoFill Destination:=fillRange, Type:=xlFillDefault

Worksheets("Sheet2").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Worksheets("Sheet2").EnableSelection = xlNoRestrictions

Application.ScreenUpdating = True
End Sub