Стараюсь обращаться только когда упираюсь и дальше не получается двигаться. Сейчас именно такой случай.
Нашел в просторах интернета нужный для себя макрос по сбору листов в один друг под другом, подпилил немного под себя макрокодером.
Стопор получился, что у меня в файле есть нужный лист, который тоже собирается макросом. Подскажите, пожалуйста, как правильно исключить в макросе этот лист "СВОД СМЕТ":
[vba]
Код
Sub m() For i = 1 To Sheets.Count If Sheets(i).Name <> "Общий" Then myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 6) End If Next Columns("A:D").Select With Selection.Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Range("A1").Select End Sub
[/vba]
Добрый вечер, участникам форума!
Стараюсь обращаться только когда упираюсь и дальше не получается двигаться. Сейчас именно такой случай.
Нашел в просторах интернета нужный для себя макрос по сбору листов в один друг под другом, подпилил немного под себя макрокодером.
Стопор получился, что у меня в файле есть нужный лист, который тоже собирается макросом. Подскажите, пожалуйста, как правильно исключить в макросе этот лист "СВОД СМЕТ":
[vba]
Код
Sub m() For i = 1 To Sheets.Count If Sheets(i).Name <> "Общий" Then myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 6) End If Next Columns("A:D").Select With Selection.Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Range("A1").Select End Sub
Добрый вечер если список будет большой, то как-то так [vba]
Код
Sub m() For i = 1 To Sheets.Count Select Case Sheets(i).Name Case "Общий", "СВОД СМЕТ" Case Else myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 6) End Select Next With Columns("A:D").Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Range("A1").Select End Sub
[/vba]или так[vba]
Код
Sub m() For i = 1 To Sheets.Count If UBound(Filter(Array("Общий", "СВОД СМЕТ"), Sheets(i).Name)) < 0 Then myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 6) End If Next With Columns("A:D").Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Range("A1").Select End Sub
[/vba]
Добрый вечер если список будет большой, то как-то так [vba]
Код
Sub m() For i = 1 To Sheets.Count Select Case Sheets(i).Name Case "Общий", "СВОД СМЕТ" Case Else myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 6) End Select Next With Columns("A:D").Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Range("A1").Select End Sub
[/vba]или так[vba]
Код
Sub m() For i = 1 To Sheets.Count If UBound(Filter(Array("Общий", "СВОД СМЕТ"), Sheets(i).Name)) < 0 Then myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 6) End If Next With Columns("A:D").Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Range("A1").Select End Sub