Добрый день! Столкнулся с такой проблемой, есть две книги каждая книга для каждой организации, они туда заполняют данные и есть итоговая книга по этим организация, как автоматически собрать данные с двух книг в итоговую? Я перелазил кучу форумов и нашел только вариант где можно работать с листами, но мне это не подходит
Вот код
[vba]
Код
Option Explicit Const rrow = 2
Private Sub Worksheet_Activate() Dim r As Range, sh As Worksheet, ind& Application.ScreenUpdating = False
Range("a" & rrow & ":ar" & Cells(rrow, 2).End(xlDown).Row).Clear For Each sh In Worksheets With sh If .Index <> ActiveSheet.Index Then Set r = .Range("a" & rrow & ":ar" & .Cells(.Rows.Count, 2).End(xlUp).Row) r.Copy Cells(rrow + ind, 1) ind = ind + r.Rows.Count End If End With Next
Application.ScreenUpdating = True
End Sub
[/vba]
Я ниже прикрепил свой пример, подскажите пожалуйста как решить эту проблему!
Добрый день! Столкнулся с такой проблемой, есть две книги каждая книга для каждой организации, они туда заполняют данные и есть итоговая книга по этим организация, как автоматически собрать данные с двух книг в итоговую? Я перелазил кучу форумов и нашел только вариант где можно работать с листами, но мне это не подходит
Вот код
[vba]
Код
Option Explicit Const rrow = 2
Private Sub Worksheet_Activate() Dim r As Range, sh As Worksheet, ind& Application.ScreenUpdating = False
Range("a" & rrow & ":ar" & Cells(rrow, 2).End(xlDown).Row).Clear For Each sh In Worksheets With sh If .Index <> ActiveSheet.Index Then Set r = .Range("a" & rrow & ":ar" & .Cells(.Rows.Count, 2).End(xlUp).Row) r.Copy Cells(rrow + ind, 1) ind = ind + r.Rows.Count End If End With Next
Application.ScreenUpdating = True
End Sub
[/vba]
Я ниже прикрепил свой пример, подскажите пожалуйста как решить эту проблему!Ermak27
Да заметил ошибочка вышла, я не понимаю почему он мне копирует шапку, шапка у меня идет до 10 строчки и можете объяснить за что это отвечает Cells(rrow, 6), у меня постоянно на нее ругается
Да заметил ошибочка вышла, я не понимаю почему он мне копирует шапку, шапка у меня идет до 10 строчки и можете объяснить за что это отвечает Cells(rrow, 6), у меня постоянно на нее ругаетсяErmak27
Сообщение отредактировал Ermak27 - Четверг, 10.01.2013, 17:25
Cells(rrow, 6) это ячейка, номер строки которой равняется значению rrow, а номер столбца равняется 6 А для правильной работы именно этого макроса нужно: 1. сохранить книгу в формате xlsx или xlsb 2. заменить все ar на NA 3. заполнить в листах 1-3 столбец B в тех строках, которые нужно скопировать. Хотя я бы написал немного иначе. Но и так работает.
Cells(rrow, 6) это ячейка, номер строки которой равняется значению rrow, а номер столбца равняется 6 А для правильной работы именно этого макроса нужно: 1. сохранить книгу в формате xlsx или xlsb 2. заменить все ar на NA 3. заполнить в листах 1-3 столбец B в тех строках, которые нужно скопировать. Хотя я бы написал немного иначе. Но и так работает._Boroda_