Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Объединение листов кроме указанных - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединение листов кроме указанных (Макросы/Sub)
Объединение листов кроме указанных
Anis625 Дата: Воскресенье, 09.06.2019, 21:48 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 278
Репутация: 5 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер, участникам форума!

Стараюсь обращаться только когда упираюсь и дальше не получается двигаться. Сейчас именно такой случай.

Нашел в просторах интернета нужный для себя макрос по сбору листов в один друг под другом, подпилил немного под себя макрокодером.

Стопор получился, что у меня в файле есть нужный лист, который тоже собирается макросом. Подскажите, пожалуйста, как правильно исключить в макросе этот лист "СВОД СМЕТ":

[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]

Автор - Anis625
Дата добавления - 09.06.2019 в 21:48
Anis625 Дата: Воскресенье, 09.06.2019, 22:05 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 278
Репутация: 5 ±
Замечаний: 0% ±

Excel 2013
Вариант с PQ можно сделать, но этот случай нужен через VBA
 
Ответить
СообщениеВариант с PQ можно сделать, но этот случай нужен через VBA

Автор - Anis625
Дата добавления - 09.06.2019 в 22:05
Pelena Дата: Воскресенье, 09.06.2019, 22:05 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 14342
Репутация: 3134 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Попробуйте так дописать
[vba]
Код
If Sheets(i).Name <> "Общий" And Sheets(i).Name<>"СВОД СМЕТ" Then
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Попробуйте так дописать
[vba]
Код
If Sheets(i).Name <> "Общий" And Sheets(i).Name<>"СВОД СМЕТ" Then
[/vba]

Автор - Pelena
Дата добавления - 09.06.2019 в 22:05
krosav4ig Дата: Воскресенье, 09.06.2019, 22:07 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2150
Репутация: 894 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый вечер
если список будет большой, то как-то так [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]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 09.06.2019, 22:08
 
Ответить
СообщениеДобрый вечер
если список будет большой, то как-то так [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]

Автор - krosav4ig
Дата добавления - 09.06.2019 в 22:07
Anis625 Дата: Воскресенье, 09.06.2019, 22:15 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 278
Репутация: 5 ±
Замечаний: 0% ±

Excel 2013
Pelena, krosav4ig,

Все варианты сработали. Крууууууутяяяяк!!! =)
ВЫ СУПЕР!!! СПАСИБО ВАМ БОЛЬШОЕ =)
 
Ответить
СообщениеPelena, krosav4ig,

Все варианты сработали. Крууууууутяяяяк!!! =)
ВЫ СУПЕР!!! СПАСИБО ВАМ БОЛЬШОЕ =)

Автор - Anis625
Дата добавления - 09.06.2019 в 22:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединение листов кроме указанных (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!