Visual Basic代码跳转到一个明显随机的位置

时间:2012-02-01 22:05:43

标签: excel vba excel-vba excel-2007

我在Excel中有一个Visual Basic程序,可以打开Word文档并将信息从Word复制到Excel中。它的核心是一个for循环,它遍历一个文档中的每个表。 for循环内部是对函数的调用来处理该表:

For nCurrentTable = 1 To nTotalTable
    ' Process each table in Word document, one at a time.
    Call Process_One_Table(nCurrentTable, nTotalTable, vDocName)
Next nCurrentTable

n个变量是Longs,vDocName是Variant。

为什么退出该函数的脚本在for循环结束时转到下一个?它发生在各个方面。现在它发生在(Process_One_Table深处的代码)之后:

Cells(1, nColumn).Select
Selection.EntireColumn

在我误用了一个赋值,将一个String分配给一个Long(我现在已经纠正过)之后,也发生了这种情况。

1 个答案:

答案 0 :(得分:4)

调用过程中的On Error Resume Next是最可能的原因。如果被调用的过程引发错误,则执行将在调用过程的下一行继续执行。