2016-06-21 6 views
-3

총 픽업 시간 또는 총 배달 시간이 0보다 큰 경우 sheet1에서 특정 데이터 만 추출하는 방법을 알아 내려고합니다. 나는 시트의 그림과 포함될 예제 데이터를 첨부했다. 고급 필터를 사용하여 매크로를 수행하는 방법을 알고 있지만 머리글 시트가 맨 위에있는 대신 세로 열에 있기 때문에이 핸들을 처리하는 방법을 잘 모르겠습니다. 당신이 행으로 검사 할 열 및 sh2y에 sh1x을 설정해야합니다 이런 식으로 할 경우기준에 따라 한 시트에서 다른 시트로 데이터 추출

감사

Sheet1

Sheet2

답변

0
Dim sh1 as Worksheet 
Dim sh2 as Worksheet 
Dim sh1x, sh2y as Ineteger 'You have to set sh1x to the column you want to check & sh2y to the row you want the data to be transfered to 


Set sh1 = ActiveWorkbook.Sheets("Audit") 
Set sh2 = ActiveWorkbook.Sheets("Wait Time") 

If sh1.Cells(20, sh1x).Value > 1 or sh1.Cells(21, sh1x).Value > 1 then 
    sh2.Cells(sh2y, 1) = sh1.Cells(2, sh1x) 
    sh2.Cells(sh2y, 2) = sh1.Cells(3, sh1x) 
    sh2.Cells(sh2y, 3) = sh1.Cells(4, sh1x) 
    sh2.Cells(sh2y, 4) = sh1.Cells(5, sh1x) 
    sh2.Cells(sh2y, 5) = sh1.Cells(6, sh1x) 
    sh2.Cells(sh2y, 6) = sh1.Cells(7, sh1x) 
    sh2.Cells(sh2y, 7) = sh1.Cells(20, sh1x) 
    sh2.Cells(sh2y, 8) = sh1.Cells(21, sh1x) 
End If 

당신은 그것을 붙여 넣을 에. 이 작업을 자동으로 수행하려면 sh1x를 2로 설정하고 sh2y를 2로 설정하고 반복 할 때마다 sh1x 및 sh2y 값을 늘리는 루프를 만듭니다 (IF 이전 또는 이후 값을 반드시 늘리십시오).