遍历所有工作表

下面的代码,而不是循环遍历所有的工作表(除了例外)在执行后激活的表单上反复执行。

我做错了什么?

Dim wsSheet As Worksheet For Each wsSheet In ThisWorkbook.Worksheets Select Case wsSheet.Name Case "Affiliates", "New Report", "Pasted Report", "New Month Or Client", "Set Up Data" 'Do nothing. Case Else With wsSheet Range("B72").Select Range("B72:L86").Sort Key1:=Range("I72"), Order1:=xlDescending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Range("B72:L72,B74:L74,B76:L76,B78:L78,B80:L80,B82:L82,B84:L84,B86:L86").Select Range("B86").Activate ExecuteExcel4Macro "PATTERNS(,0,1,TRUE,2,4,0,0)" Range("B73:L73,B75:L75,B77:L77,B79:L79,B81:L81,B83:L83,B85:L85").Select Range("B85").Activate ExecuteExcel4Macro "PATTERNS(,0,10,TRUE,2,4,0,0.799981688894314)" Range("C93").Select End With End Select Next wsSheet End Sub 

更正后,你的代码应该是这样的:

 Dim wsSheet As Worksheet For Each wsSheet In ThisWorkbook.Worksheets Select Case wsSheet.Name Case "Affiliates", "New Report", "Pasted Report", "New Month Or Client", "Set Up Data" 'Do nothing. Case Else wsSheet.Select With ActiveWorksheet .Range("B72").Select .Range("B72:L86").Sort Key1:=Range("I72"), Order1:=xlDescending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal .Range("B72:L72,B74:L74,B76:L76,B78:L78,B80:L80,B82:L82,B84:L84,B86:L86").Select .Range("B86").Activate ExecuteExcel4Macro "PATTERNS(,0,1,TRUE,2,4,0,0)" .Range("B73:L73,B75:L75,B77:L77,B79:L79,B81:L81,B83:L83,B85:L85").Select .Range("B85").Activate ExecuteExcel4Macro "PATTERNS(,0,10,TRUE,2,4,0,0.799981688894314)" .Range("C93").Select End With End Select Next wsSheet