Recorra todas las hojas de trabajo

El código siguiente, en lugar de recorrer todas las hojas de cálculo (salvo las excepciones) se ejecuta una y otra vez en la hoja que está activa en la ejecución.

¿Qué he hecho mal?

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 

Su código debe verse algo así, cuando se corrige:

 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