Я пытаюсь запустить ту же функцию цикла While While на нескольких рабочих листах в книге и скомпилировать данные на другом листе. Код работает для одного рабочего листа, который указан, но как я могу заставить его работать с другими, которые находятся в книге одновременно? Также стоит упомянуть, что я только хочу, чтобы он работал на некоторых листах не все, что содержится в книге (листы называются годами - 2014, 2015 и т. Д.).Необходимо запустить цикл While While на нескольких листах
Это код
Sub Total_Button1_Click()
Dim я As Integer
Dim strSheetFrom As String
Dim j As Integer
Dim strSheetTo As String
i = 3
j = 2
strSheetFrom = "2014"
strSheetTo = "Total"
Do While Trim(Sheets(strSheetTo).Range("B" & CStr(j)).Text) <> ""
j = j + 2
Loop
Do While Trim(Sheets(strSheetFrom).Range("B" & CStr(i)).Text) <> ""
If UCase(Trim(Sheets(strSheetFrom).Range("A" & CStr(i)).Text)) = "Y" Then
Sheets(strSheetTo).Range("B" & j & ":G" & j).Value = Sheets(strSheetFrom).Range("B" & i & ":G" & i).Value
Sheets(strSheetTo).Range("H" & j & ":I" & j).Value = Sheets(strSheetFrom).Range("I" & i & ":J" & i).Value
Sheets(strSheetTo).Range("J" & j & ":J" & j).Value = Sheets(strSheetFrom).Range("L" & i & ":L" & i).Value
Sheets(strSheetTo).Range("K" & j & ":K" & j).Value = Sheets(strSheetFrom).Range("Q" & i & ":Q" & i).Value
Sheets(strSheetTo).Range("L" & j & ":AH" & j).Value = Sheets(strSheetFrom).Range("s" & i & ":AO" & i).Value
j = j + 1
End If
i = i + 1
Loop
MsgBox "Total book created"
End Sub
Каковы условия, которые должны выполняться именами WorkSheet, чтобы код знал, что он должен работать на этом листе? Между началом и концом года? любой рабочий лист с 4 номерами для имени? – user2140261