Excel 如何避免在VBA中选择。需要使主图纸可见,其他图纸隐藏
如何避免在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
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