Здравствуйте, уважаемые форумчане! Помогите, пожалуйста. Есть код, который вставляет строки с другого листа в зависимости от выделенных строк
[vba]
Код
Sub Copy12() Dim R1 As Range, R2 As Range With Worksheets("Отчет") Set R1 = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeConstants).EntireRow Set R2 = .Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).EntireRow Intersect(R1, [B:F]).Copy R2.Cells(1, 1) End With End Sub
[/vba]
Как видно, макрос берет строки со страницы, на которой он запускается и копирует строки в страницу "Отчет". Скажите, пожалуйста, как сделать чтобы он брал строки не только со страницы, с которой он запускается, но и с других листов. Т.е. указать макросу откуда брать строки
Здравствуйте, уважаемые форумчане! Помогите, пожалуйста. Есть код, который вставляет строки с другого листа в зависимости от выделенных строк
[vba]
Код
Sub Copy12() Dim R1 As Range, R2 As Range With Worksheets("Отчет") Set R1 = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeConstants).EntireRow Set R2 = .Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).EntireRow Intersect(R1, [B:F]).Copy R2.Cells(1, 1) End With End Sub
[/vba]
Как видно, макрос берет строки со страницы, на которой он запускается и копирует строки в страницу "Отчет". Скажите, пожалуйста, как сделать чтобы он брал строки не только со страницы, с которой он запускается, но и с других листов. Т.е. указать макросу откуда брать строкиkss27
With Worksheets("нужный") Set R1 = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeConstants).EntireRow Set R1 = Intersect(R1, .[B:F]) End With With Worksheets("Отчет") Set R2 = .Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).EntireRow End With
R1.Copy R2.Cells(1, 1) End Sub
[/vba]
Думаю так должно сработать, но не проверял. [vba]
Код
Sub Copy13() Dim R1 As Range, R2 As Range
With Worksheets("нужный") Set R1 = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeConstants).EntireRow Set R1 = Intersect(R1, .[B:F]) End With With Worksheets("Отчет") Set R2 = .Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).EntireRow End With