小编Joh*_*ley的帖子

VBA宏运行时错误'9':下标超出范围 - 数组

当我尝试为GA生成人口时,我遇到了错误.我用二维数组来帮助生成一个人口.首先,用户将种群大小和染色体长度输入用户形式.

我的变数:

Dim Generation As Integer
Dim Chromolength As Integer
Dim varchromolength As Integer
Dim Poparr() As Integer
Run Code Online (Sandbox Code Playgroud)

然后我从userform获取值:

PopSize = PopulationSize.value
aVariables = AOV.value          'assign userform value entered to this variable
varchromolength = Chromolengthentered.value    'assign userform value entered to this   variable
Chromolength = varchromolength * aVariables   'Chromosome length equals the length of     each varaible chromosome combined
Run Code Online (Sandbox Code Playgroud)

然后是错误发生的编码:

For i = 1 To PopSize           
   For j = 1 To Chromolength       
    If Rnd < 0.5 Then           
        Poparr(i, j) = 0   'assign …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

4
推荐指数
1
解决办法
5214
查看次数

VBA宏运行时错误6:在循环内溢出编码

遇到此错误的问题.我正在创建一个GA,循环是将我的适应值分配给一个数组.

一些变数

Dim Chromolength as integer
Chromolength = varchromolength * aVariables 
Dim i as integer, j as integer, counter as integer
Dim Poparr() As Integer
Dim FitValarr() As Integer
Run Code Online (Sandbox Code Playgroud)

代码:

ReDim Poparr(1 To PopSize, 1 To Chromolength)

For i = 1 To PopSize                
  For j = 1 To Chromolength       
    If Rnd < 0.5 Then           
        Poparr(i, j) = 0
    Else
        Poparr(i, j) = 1        
    End If
  Next j
Next i

For i = 1 To PopSize                   
 j = 1                           
 counter = …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

4
推荐指数
1
解决办法
6万
查看次数

VBA宏溢出

遇到此代码的问题.我的编码如下:

    fitvalchild1 = 0
    fitvalchild2 = 0

    For i = 1 To 30                            
        counter = 30

        Do While counter > 0
            fitvalchild1 = fitvalchild1 + child1(counter) * 2 ^ (i - 1)
            fitvalchild2 = fitvalchild2 + child2(counter) * 2 ^ (i - 1)
            counter = counter - 1
        Loop
    Next i
Run Code Online (Sandbox Code Playgroud)

所有变量都声明为long ...

我仍然得到错误:溢出并突出显示的行是:

fitvalchild1 = fitvalchild1 + child1(counter) * 2 ^ (i - 1)
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

2
推荐指数
1
解决办法
191
查看次数

标签 统计

excel ×3

excel-vba ×3

vba ×3