繁体   English   中英

溢出运行时错误6 VBA

[英]Overflow runtime error 6 VBA

我想知道我在代码中做错了什么。 我已经将所有内容更改为Long,但仍然收到溢出错误。 请帮忙。 该行:

Binary = Binary + Generation(i, j) * 10 ^ (j - 1)

已突出显示为黄色。

完整代码:

Dim Generation() As Long
Dim Fitness() As Long
Dim i, j As Long
Dim Binary As Long
Dim Binary2 As Long
Dim Initial As Long
Dim x, y As Long

Private Sub ButtonGeneratePopulation_Click()

Initial = Val(InitialPopulation.Value)

ReDim Generation(Initial, 30) As Long
Randomize

For i = 1 To Initial
    For j = 1 To 30
        If Rnd > 0.5 Then
            Generation(i, j) = 1
        Else
            Generation(i, j) = 0
        End If
    Next j
Next i



For i = 1 To Initial
Binary = 0
    For j = 1 To 30
        Binary = Binary + Generation(i, j) * 10 ^ (j - 1)
    Next j
    Cells(i, 1) = Binary
Next i

InitialPopulation.Enabled = False

End Sub
Dim Generation() As Long
Dim Fitness() As Long
Dim i As Long, j As Long
Dim Binary As Double '<~~~ this is double
Dim Binary2 As Long
Dim Initial As Long
Dim x As Long, y As Long

Private Sub ButtonGeneratePopulation_Click()

Initial = Val(InitialPopulation.Value)



ReDim Generation(Initial, 30) As Long
Randomize

For i = 1 To Initial
    For j = 1 To 30
        If Rnd > 0.5 Then
            Generation(i, j) = 1
        Else
            Generation(i, j) = 0
        End If
    Next j
Next i



For i = 1 To Initial
Binary = 0
    For j = 1 To 30
        Binary = Binary + Generation(i, j) * 10 ^ (j - 1)
    Next j
    Cells(i, 1) = Binary
Next i

InitialPopulation.Enabled = False

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM