在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