0
Код, а не циклический просмотр всех листов (кроме исключений), повторяется снова и снова на листе, который активен при выполнении.Петля через все листы
Что я сделал не так?
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
Он зациклился, но при использовании 'With' блок нужно поставить' .' перед теми объектами/функций, которые должны быть квалифицированный «С». Сын перед всеми вашими «рядами» помещает '.' как' .Range (...) ' –
Чтобы отбросить замечательный комментарий Скотта - вы всегда должны быть явными при использовании' Range() ',' Cells () ',' Row() 'и т. Д., Особенно при использовании нескольких электронных таблиц. Использование 'With' - это помощь, так как вам просто нужно место' .'. Просто заметив, что вы всегда должны использовать это, так что у вас может даже быть. .Range (.cells (2,1). Cells (.Rows.Count, 2)) ... ' – BruceWayne
Я поставил'. 'перед всеми« диапазонами », но теперь я получаю ошибку времени выполнения« 1004 »: Метод« Выбрать »объекта« Диапазон »не выполнен –