все. Вот небольшая функция VBA (Excel), которую я написал, полная MsgBoxes для отладки.Целочисленное переполнение в проекте VBA
Я передаю числа 10 и 1 в качестве аргументов и получаю ошибку переполнения, когда программа достигает вершины цикла For, прежде чем она начнет первую итерацию.
Любые мысли приветствуются.
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Function PerformanceTest(iterations As Integer, interval As Integer) As Double
Dim st, tot, k As Double
Dim n As Integer
tot = 0#
MsgBox "ok"
k = iterations + tot
MsgBox "ookk"
n = 1
MsgBox "assigned"
For n = 1 To iterations
MsgBox n
st = Timer
Application.Calculate
tot = tot + (Timer - st)
Sleep (1000 * interval)
Next n
'MsgBox (tot/k)
PerformancTest = tot/k
End Function
Как и другие, я не могу сделать «переполнение». Я согласен с Томалаком, который может указывать на проблему вне функции. Но если ваш код стоит в том месте, о котором вы говорите, то идея Томалака трудно принять. – Smandoli