Excel 如何避免在VBA中选择。需要使主图纸可见,其他图纸隐藏

Excel 如何避免在VBA中选择。需要使主图纸可见,其他图纸隐藏,excel,vba,Excel,Vba,如何避免在VBA中选择。需要使主图纸可见,其他图纸隐藏。以下是我目前使用的代码: Sub Run_Historical() 'Application.ScreenUpdating = False Dim skillit As String Dim nowsever As String Dim CMSReport As String Dim username As String Dim pword As String Dim setdate As String Dim reportloc

如何避免在VBA中选择。需要使主图纸可见,其他图纸隐藏。以下是我目前使用的代码:

    Sub Run_Historical()

'Application.ScreenUpdating = False
Dim skillit As String
Dim nowsever As String
Dim CMSReport As String
Dim username As String
Dim pword As String
Dim setdate As String
Dim reportlocation As String

'Clear Data

Sheets("CMSRaw").Select
Range("A2:BX1500").Select
Selection.ClearContents


Sheets("Reference").Select
skillit = Range("B6").Value
Range("B6").Select
Do While Not IsEmpty(ActiveCell.Value)
    nrow = ActiveCell.Row
    skillit = ActiveCell.Value
    nowserver = Range("C" & nrow).Value
    reportlocation = Range("H" & nrow).Value
剩余的代码仍然有选择表和单元格,这减慢了我的电脑,因为我正在运行大量的应用程序

CMSReport = Range("D" & nrow).Value
    setdate = Range("G" & nrow).Value
    reportit = Range("D" & nrow).Value
    originaladdress = ActiveCell.Address

'Function CMSConn(sUserID As String, sPassword As String, sServerIP As String, sSkill As String, sDate As String, sReport)

        Call CSSConn2(username, pword, Range("C" & nrow).Value, skillit, setdate, reportit, reportlocation)
        originalsheets = ActiveSheet.Name
        pastecell = Range("F" & nrow).Value
        Sheets(Range("E" & nrow).Value).Select
        Range(pastecell).Select

        ActiveSheet.Paste
        Sheets(originalsheets).Select
        Range(originaladdress).Select
        Range("A" & nrow).Value = Now()
        ActiveCell.Offset(1, 0).Select


    If ActiveCell.Value = "" Then
    MsgBox "Done"
    ThisWorkbook.Activate
    Sheets("MainPage").Select
    Range("A1").Select
    Exit Sub
    End If
Loop
'MsgBox "CMS data has been extracted", vbOKOnly

Application.ScreenUpdating = False


End Sub

只需直接参考工作表/范围,例如,而不是:

Sheets("CMSRaw").Select
Range("A2:BX1500").Select
Selection.ClearContents
使用:


为什么要避免“选择”?你试过什么?你被困在哪里了?看,我还没试过。但我只需要隐藏一些表格。你正在使用应用程序。屏幕更新不正确。开始时,您希望将其设置为FALSE。(由于某种原因,您已将其注释掉)。最后,您希望将其设置为TRUE。这可能会比放弃选择更快地加快代码的速度。@maldred My bad,我粘贴了两次选择的代码,并认为我编辑了第二个代码,但不管出于什么原因,似乎都没有这样做。我根据原意编辑了它。
Worksheets("CMSRaw").Range("A2:BX1500").ClearContents