Добрый вечер, уважаемые) Прошу помочь с задачкой про яблоки...
Описание задачи: Есть книга excel с листом1 и листом2. На листе1 база данных по сортам яблок, на листе2 должен появляться результат. При установке фильтра по признаку "1" в столбце D на листе1 и после запуска макроса, который и предстоит создать, на лист2 должны ложиться данные из отфильтрованного диапазона. При это нужно учесть, что данные в обеих таблицах расположены по столбцам в различном порядке, который менять нельзя.
Добрый вечер, уважаемые) Прошу помочь с задачкой про яблоки...
Описание задачи: Есть книга excel с листом1 и листом2. На листе1 база данных по сортам яблок, на листе2 должен появляться результат. При установке фильтра по признаку "1" в столбце D на листе1 и после запуска макроса, который и предстоит создать, на лист2 должны ложиться данные из отфильтрованного диапазона. При это нужно учесть, что данные в обеих таблицах расположены по столбцам в различном порядке, который менять нельзя.malente
Sub ttt() With Sheets("Лист1").Range("A1").CurrentRegion Union(.Columns(1), .Columns(3)).Copy Sheets("Лист2").Range("A2").PasteSpecial Paste:=xlPasteValues .Columns(2).Copy Sheets("Лист2").Range("C2").PasteSpecial Paste:=xlPasteValues End With Application.CutCopyMode = False End Sub
[/vba]
malente, привет может, как-то так?: [vba]
Код
Sub ttt() With Sheets("Лист1").Range("A1").CurrentRegion Union(.Columns(1), .Columns(3)).Copy Sheets("Лист2").Range("A2").PasteSpecial Paste:=xlPasteValues .Columns(2).Copy Sheets("Лист2").Range("C2").PasteSpecial Paste:=xlPasteValues End With Application.CutCopyMode = False End Sub
Sub ttt() With Sheets("Лист1").Range("A1").CurrentRegion.Offset(1) 'без заголовка Union(.Columns(1), .Columns(3)).Copy Sheets("Лист2").Range("A3").PasteSpecial Paste:=xlPasteValues .Columns(2).Copy Sheets("Лист2").Range("C3").PasteSpecial Paste:=xlPasteValues End With Application.CutCopyMode = False End Sub
[/vba]
[vba]
Код
Sub ttt() With Sheets("Лист1").Range("A1").CurrentRegion.Offset(1) 'без заголовка Union(.Columns(1), .Columns(3)).Copy Sheets("Лист2").Range("A3").PasteSpecial Paste:=xlPasteValues .Columns(2).Copy Sheets("Лист2").Range("C3").PasteSpecial Paste:=xlPasteValues End With Application.CutCopyMode = False End Sub