Скопируйте все данные во все простыни в одном листе
У меня есть скрипт vba, который скопирует данные на всех листах и вставляет их в другую группу toi group:
Sub Recap() Dim sh As Worksheet For Each sh In Worksheets If sh.Name <> "Feuil1" Then sh.[A7].Resize(sh.[A65536].End(xlUp).Row - 1, 13).Copy Destination:=Worksheets("Feuil1").[A65536].End(xlUp).Offset(1, 0) End If Next sh
Моя проблема заключается в том, что сценарий не принимает ВСЕ данные, он как-то останавливается в какой-то момент, я предполагаю, что это связано с тем, что у меня есть объединенные ячейки или пустые строки. У кого-нибудь есть представление о том, что я должен изменить?
Большое спасибо!
Хорошо, после небольшого исследования я нашел другой способ рассчитать RowSize в функции Resize :
Идти:
sh.[A7].Resize(sh.[A65536].End(xlUp).Row - 1, 13).Copy
Я вычислил строку с использованием функции UsedRange :
sh.[A7].Resize(sh.UsedRange.Rows(sh.UsedRange.Rows.Count).Row - 1, 13).Copy
Окончательный VBA работает отлично:
Sub Recap() Dim sh As Worksheet For Each sh In Worksheets If sh.Name <> "Feuil1" Then sh.[A7].Resize(sh.UsedRange.Rows(sh.UsedRange.Rows.Count).Row - 1, 13).Copy Destination:=Worksheets("Feuil1").[A65536].End(xlUp).Offset(1, 0) End If Next sh