2010-07-20 6 views
0

У меня есть следующий 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

Благодаря

ответ

1

ли данные, начинающиеся с Range(A2), всегда заселены?

Для каждой ячейки В wks.Range(wks.Range("A2"), wks.Range("A2").End(xlDown)) начнется с A2 и перейдите к последней заполненной ячейке перед пустой/пустой ячейкой.

+0

Я немного новичок в vba, но если я правильно понимаю, Range («A2») никогда не является ни пустым, ни пустым. всегда есть данные из A2: Jxxxx, которые необходимо заполнить в мастер. Спасибо – EKet

+0

Я бы проверял данные на листе 3, чтобы быть уверенным, что Range A2 onward всегда заселен, не может видеть ничего другого, что могло бы вызвать проблему из вашего vba ... особенно если это работает для других листов – Cynicszm

+0

Да, это Интересно, sheet3 заполняется из A2: J903. Я подумал, может быть, есть проблема с размером, когда объект Range или Worksheet не может содержать больше определенного количества строк. Но, очевидно, это немые и другие листы работают отлично с большим количеством данных. Я думаю, что это одна из тех тайн, потому что я не могу думать ни о чем другом в этой точке. Спасибо за помощь. – EKet

Смежные вопросы