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
在你循环之后的最后,在closures你的sub之前添加这个:
Loop If colD_counter = 2 Then MsgBox "Everything is fine" End Sub
基本上,因为colD_counter
'计数'的错误,如果它不会改变你的循环,保持= 2,那么你有msgbox说没有错误出现。
你可以保持你的vb的其余部分不变。 我只是试了一下,似乎工作正常。
这是你想要的?
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
如果您有任何问题或疑问,请告知我。