VBA: ошибка переполнения? - PullRequest
       11

VBA: ошибка переполнения?

0 голосов
/ 24 августа 2018

Мой код предназначен для тестирования каждого агента (черепаха) с соответствующим агентом (ninjaturtle). Он проверяет три параметра. Тем не менее, я продолжаю получать ошибку переполнения. Я преобразовал свои d1 и d2 в Long, Int, Variant, но я все еще получаю ошибку. Я даже пытался использовать cLng, cdbl и т. Д., Но все равно ничего. Ошибка обнаружена на d2 со значением 330.552970855757.

Ошибка выдается в операторе d2 = ((Cells(amount * (time - 1) + ninjaturtle + 1, 1).Value)).

Sub assesser()
Dim time As Integer
Dim turtle As Integer
Dim ninjaturtle As Integer
Dim amount As Integer
Dim d1 As Variant
Dim d2 As Variant

amount = 20
Columns(15).Clear
Cells(1, 15).Value = "Flock"
For time = 1000 To 2000
    For turtle = 1 To 20
        For ninjaturtle = 1 To 20
        d1 = (Cells(amount * (time - 1) + turtle + 1, 1).Value)
        d2 = ((Cells(amount * (time - 1) + ninjaturtle + 1, 1).Value))
If (Abs(d1 - d2) < 15 _
Or Abs(d1 - d2) > 345) _
And Abs(d1 - d2) < 10 _
And Abs(d1 - d2) < 10 _
Then If IsEmpty(Cells(amount * (time - 1) + turtle + 1, 15).Value) = True Then Cells(amount * (time - 1) + turtle + 1, 15).Value = CStr(Cells(amount * (time - 1) + turtle + 1, 15)) + " " + CStr(Cells(amount * (time - 1) + ninjaturtle + 1, 5)) _
Else Cells(amount * (time - 1) + turtle + 1, 15).Value = CStr(Cells(amount * (time - 1) + turtle + 1, 15)) + ", " + CStr(Cells(amount * (time - 1) + ninjaturtle + 1, 5))

Next ninjaturtle
Next turtle
Next time
Debug.Print (d1)
Debug.Print (d2)

End Sub                            
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...