2013-01-15 5 views
0

Привет всем (действительно новый для программирования vba - начался сегодня) Предположим, я хотел бы скопировать данные с одного листа на другой на основе логического заявления и заполнить второй лист сверху донизу (т. е. нет пустых строк между собой). Как бы я начал заниматься чем-то вроде этого.Копирование данных на другой лист и их хроматирование

enter image description here

Из сказанного выше на листе один, я хотел бы следующее на листе 2 - с строки 1,3,4 и 7 содержали ответы

enter image description here

Но это тестовые данные - настоящий файл содержит около 1000 записей

Спасибо за помощь.

+1

если вы абсолютно необходимо VBA см 'метод AutoFilter' и' SpecialCells (xlCellTypeVisible) 'свойство –

+0

@ScottHoltzman - есть другой способ? Пожалуйста, просветите меня .... Я бы очень понравился ..... –

+0

выглядит так, как вы выяснили ответ самостоятельно ... или на пути к его получению, по крайней мере :) –

ответ

0

Это основа для ответа

Sub test() 
    Application.ScreenUpdating = False 
    Sheets("Patient Database").Activate 
    Selection.AutoFilter 

    With ActiveSheet.Range("$A$2:$D$10") 
     .AutoFilter Field:=4, Criteria1:=">0" 
     .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Copy 
    End With 

    Sheets("Sheet2").Activate 



    Sheets("Sheet1").Activate 
    ActiveSheet.Range("A2").AutoFilter 
    Application.ScreenUpdating = True 
End Sub 
Смежные вопросы