VBA每次通话运行两次

时间:2014-02-04 15:38:42

标签: vba excel-vba excel

我用其他几种语言看到了这一点,但VBA并没有真正看到任何东西。偶尔当我调用一个宏时,它会完成一个函数或子函数,它会重做它。它可以是从调用5个函数的sub到简单的find宏的任何东西。奇怪的是,它不会一直这样做。

例如,以下代码集创建了库存件号列表。我点击了VBA中的播放按钮,它运行了一次。我再次点击播放,它跑了两次。它是否运行一次或两次似乎没有押韵或理由。

Function NumFind()

lastrow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Range("Q:Q").ClearContents
Range("Q4") = "Num"

For a = 5 To lastrow
    If IsEmpty(Cells(a, 16)) = False Then
        b = Range("O:O").Find(Cells(a, 16)).Address
        temp = Range(b).Offset(1, -12)
        Cells(a, 17) = Left(temp, 4)
    End If
Next

End Function

编辑:回答几个问题。

-No worksheet_change events / num found。在这些宏之前,工作表只是原始数据的列。

- 我已经从工作表上的一个按钮(连接到宏的简单设计按钮)和VBE上的“Run Sub / Userform”中运行了这个结果。

- 这是一个功能,因为我喜欢其中10个做不同的事情,我想要更大的潜水员召唤,所以我可以做不同的组合。 IE具有函数A,B,C,D,E,F并具有不同的子函数来调用A - B - C,或C - A - D或D - E等。

0 个答案:

没有答案
相关问题