VBA为Excel 2010,Excel不断崩溃
我试图检查C列(由vlookup创build)中的值是否为#N / A,然后取对应行中列A中的值并将其放在列D中,程序显示没有错误,但Excel每次运行时崩溃。
这是代码:
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 loop_counter = loop_counter + 1 End If Loop End Sub
根据以上评论:
三件事:
-
loop_counter需要在If之外。 否则,只要If不解决它将循环在同一单元格,直到用户closuresExcel。
-
“智能行情”需要更改为正规报价。 正如蒂姆·威廉姆斯所说,这通常来自复制和粘贴通过另一个媒体,如Word。
-
colD_counter丢失了。 没有这个,输出总是被放在同一个单元格中。
代码:
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