2013-01-01 2 views
0
Private Sub CommandButton1_Click() 
Dim rng As Range 
Dim cell As Variant 

Set rng = Range("C8:C12") 

For Each cell In rng 
    Sheets("Sheet1").Range("A1:H7").Copy Destination:=Sheets("Quantity").Range("XFD4").End(xlToLeft).Offset(-3, 3) 
    Sheets("Quantity").Range("XFD1").End(xlToLeft).Offset(0, 1).Value = cell.Offset(1, -1).End(xlUp).Value 
    Sheets("Quantity").Range("XFD2").End(xlToLeft).Offset(0, 1).Value = cell.Value 
    Sheets("Quantity").Range("XFD3").End(xlToLeft).Offset(0, 1).Value = cell.Offset(0, 1).Value 
Next 
End Sub 

여기서 수행하려는 작업은 skip blank cell/row입니다. 빈 데이터를 시트에 복사하기 때문입니다. 예를 들어 어떤 방법이 있습니까? 이 For loop에 대해 isEmpty 또는 isBlank가 아닌가요? 미리 감사드립니다.EXCEL VBA 공백 행 건너 뛰기

답변

1

IsEmpty(cell)을 확인하여 셀이 비어 있는지 확인할 수 있습니다. (안된) 예

은 : 셀 무관 셀 수식의 결과 FF 경우

For Each cell In rng 
    If Not IsEmpty(cell) Then 
     Sheets("Sheet1").Range("A1:H7").Copy Destination:=Sheets("Quantity").Range("XFD4").End(xlToLeft).Offset(-3, 3) 
     Sheets("Quantity").Range("XFD1").End(xlToLeft).Offset(0, 1).Value = cell.Offset(1, -1).End(xlUp).Value 
     Sheets("Quantity").Range("XFD2").End(xlToLeft).Offset(0, 1).Value = cell.Value 
     Sheets("Quantity").Range("XFD3").End(xlToLeft).Offset(0, 1).Value = cell.Offset(0, 1).Value 
    End If 
Next 
+0

IsEmpty 함수 true를 반환? 또는 retursn # N/A? –

+1

@JonathanRaulTapiaLopez 셀에 아무 것도없는 경우에만 true를 반환해야합니다. # N/A는 'IsError'로 검사 할 수있는 오류 조건이다. –

관련 문제