2016-06-06 4 views
2

오류가 발견되지 않으면 프로그램에서 메시지를 출력하려고합니다.VBA Excel 2010, isError 함수

Sub casesVsQueue() 
       Dim loop_counter As Integer 
       Dim colD_counter As Integer 
       loop_counter = 1 
       colD_counter = 2 
     Do Until IsEmpty(Sheets("Sheet1").Range("A" & loop_counter).Value) 
       If IsError(Sheets("Sheet1").Range("C" & loop_counter).Value) Then  
        Sheets("Sheet1").Range("D" & colD_counter).Value = Sheets("Sheet1").Range("A" & loop_counter).Value 
        colD_counter = colD_counter + 1 

      End If 
      loop_counter = loop_counter + 1 
     Loop 
End Sub 
+0

현재 코드에 문제가 있습니까? –

답변

1

귀하의 하위이 추가 : 기본적으로

 Loop 
    If colD_counter = 2 Then MsgBox "Everything is fine" 
End Sub 

를이 루프 동안 변경하지 않는 경우 colD_counter가 '카운트'오류가, 다음, = 2를 유지하기 때문에 당신은 아무 에러도 나타나지 않는다는 msgbox를 가지고있다.

나머지 vb는 그대로 둘 수 있습니다. 방금 시도했는데 제대로 작동하는 것 같습니다.

+0

완벽한 감사합니다. –

0

이게 당신이 찾고 있는게 있나요?

Sub casesVsQueue() 

Dim loop_counter As Integer 
Dim colD_counter As Integer 

Dim lngLastRow As Long 

loop_counter = 1 
colD_counter = 2 

With ThisWorkbook.Worksheets("Sheet1") 
    lngLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 
    For loop_counter = 1 To lngLastRow 
     If VarType(.Cells(loop_counter, "C").Value) = vbError Or .Cells(loop_counter, "C").Value = vbNullString Then 
      .Cells(colD_counter, "D").Value = .Cells(loop_counter, "A").Value 
      colD_counter = colD_counter + 1 
     End If 
    Next loop_counter 
End With 

End Sub 

문제 또는 질문 사항이 있으면 알려주십시오. 당신이 닫기 전에 매우, 루프 후 마지막에