Я пытаюсь сравнить двойное число в VBA, чтобы убедиться, что оно находится между двумя числами. По какой-то причине он дает переполнение, не знаю почему. Первоначально я пытался объявить BeginRange
как double и сделать BeginRange = 0#
, но это только переместило ошибку переполнения на более раннюю часть кода.
Sub Main()
Dim ZValues As Collection
Set ZValues = New Collection
Dim AvgTemps As Collection
Set AvgTemps = New Collection
Dim Temps As Worksheet
Set Temps = ThisWorkbook.Worksheets("Temps")
Dim TempsToSum As Collection
Set TempsToSum = New Collection
Dim ZValuesToSum As Collection
Set ZValuesToSum = New Collection
Dim CurrentRow As Long
CurrentRow = 2
Dim LastRow As Long
LastRow = Temps.Cells(1, 3).End(xlDown).Row
BeginRange = 0#
Do Until CurrentRow > LastRow
Dim CurrentZValue As Double
CurrentZValue = Temps.Cells(CurrentRow, 3)
CurrentTempValue = Temps.Cells(CurrentRow, 5)
If CurrentZValue > BeginRange And CurrentZValue < BeginRange + 0.0015 Then
ZValuesToSum.Add CurrentZValue
TempsToSum.Add CurrentTempValue
CurrentRow = CurrentRow + 1
Else
BeginRange = BeginRange + 0.0015
ZValues.Add TemptsToSum
AvgTemps.Add ZValuesToSum
End If
Loop
Stop
Set AvgTemps = GetAverages(TempsToSum)
Set ZValues = GetAverages(ZValuesToSum)
End Sub