在VBA中运行循环时,意外调用函数?
我试图在VBA中做一个循环,但由于某种原因,它不会工作,因为用户定义函数被调用。 我不希望循环调用这个函数,我不明白它甚至是可能的。
这是循环:
Sub DoWhileExample() Dim i As Integer For i = 1 To 10 Cells(i, 1).Value = 5 MsgBox i Next i End Sub
使用错误查找工具,我可以看到在循环的第4行,它开始运行这个用户定义的函数:
Private Function ForrigeVagtsNavn(ArkNavn As String) As String 'Makro der bliver brugt til at trimme navnet på forrige vagt Application.Volatile Dim VagtType As String Dim Dato As Integer Dato = Left(ArkNavn, InStr(ArkNavn, " ") - 1) VagtType = Right(ArkNavn, Len(ArkNavn) - InStrRev(ArkNavn, " ")) If Dato = 16 And VagtType = "M" Then ForrigeVagtsNavn = "Overført" ElseIf VagtType = "A" Then ForrigeVagtsNavn = Dato & " M" Else ForrigeVagtsNavn = Dato - 1 & " A" End If End Function
我真的希望你能帮助我,因为这让我疯狂。 提前致谢。
试试这个:
Sub DoWhileExample() Dim i As Integer sav = Application.Calculation Application.Calculation = xlCalculationManual For i = 1 To 10 Cells(i, 1).Value = 5 MsgBox i Next i Application.Calculation = sav End Sub