У меня есть следующий vba: Данные все текст, строки A-J с заголовками столбцов на каждом листе одинаковы Данные - это sql-запросы, все с «топ-1000» 4 листов (sheet1
, sheet2
, sheet3
, Master
)Excel VBA Скопируйте несколько листов на один лист, не работая
лист 1: 100 строк лист 2: 34 строк лист 3: 900 строк Мастер: объединены данные из 3 листов
ПРОБЛЕМА: Sheet3
только копии 84 Строки специальные y однако добавление большего количества строк в другие листы будет скопировано на Master. Только sheet3
не скопирует более 84 строк.
'Шаг 1: Clear мастер перед обновлением ' Шаг 2: Петля через региональные листы
Sub Объединить()
Dim cell As Range
Dim wks As Worksheet
Sheets("Master").Range("A2:Z65536").ClearContents
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> "Master" And wks.Range("A2") <> "" Then
For Each cell In wks.Range(wks.Range("A2"), wks.Range("A2").End(xlDown))
cell.EntireRow.Copy Destination:=Worksheets("Master").Range("A65536").End(xlUp).Offset(1, 0)
Next cell
End If
Next wks
End Sub
Благодаря
Я немного новичок в vba, но если я правильно понимаю, Range («A2») никогда не является ни пустым, ни пустым. всегда есть данные из A2: Jxxxx, которые необходимо заполнить в мастер. Спасибо – EKet
Я бы проверял данные на листе 3, чтобы быть уверенным, что Range A2 onward всегда заселен, не может видеть ничего другого, что могло бы вызвать проблему из вашего vba ... особенно если это работает для других листов – Cynicszm
Да, это Интересно, sheet3 заполняется из A2: J903. Я подумал, может быть, есть проблема с размером, когда объект Range или Worksheet не может содержать больше определенного количества строк. Но, очевидно, это немые и другие листы работают отлично с большим количеством данных. Я думаю, что это одна из тех тайн, потому что я не могу думать ни о чем другом в этой точке. Спасибо за помощь. – EKet