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 

根据以上评论:

三件事:

  1. loop_counter需要在If之外。 否则,只要If不解决它将循环在同一单元格,直到用户closuresExcel。

  2. “智能行情”需要更改为正规报价。 正如蒂姆·威廉姆斯所说,这通常来自复制和粘贴通过另一个媒体,如Word。

  3. 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