我在通用声明出定义了一个变量StrArray(9)
我想利用控件中的事件CLICK子过程改变StrArray(0)到StrArray(9)的值,也就是在子过程中改变公共变量数组的各个ITEM,,,怎样做?

解决方案 »

  1.   

    这个问题真奇怪,你如果不在某一个子过程里修改,那还能在什么地方改?直接写:strArray(index)=value
      

  2.   

    这个问题真奇怪,你如果不在某一个子过程里修改,那还能在什么地方改?直接写:strArray(index)=value
      

  3.   

    Dim strarray(9) As String
    ----------------------------------------------------
    Private Sub chk1_Click()
    If chk1.Value = 1 Then
    strarray(1) = chk1.Caption
    Else
    strarray(1) = ""
    End If
    End SubPrivate Sub chk2_Click()
    If chk2.Value = 1 Then
    strarray(2) = chk2.Caption
    Else
    strarray(2) = ""
    End If
    End SubPrivate Sub chk3_Click()
    If chk3.Value = 1 Then
    strarray(3) = chk3.Caption
    Else
    strarray(3) = ""
    End If
    End SubPrivate Sub chk4_Click()
    If chk4.Value = 1 Then
    strarray(4) = chk4.Caption
    Else
    strarray(4) = ""
    End If
    End SubPrivate Sub chk5_Click()
    If chk5.Value = 1 Then
    strarray(5) = chk5.Caption
    Else
    strarray(5) = ""
    End If
    End SubPrivate Sub chk6_Click()
    If chk6.Value = 1 Then
    strarray(6) = chk6.Caption
    Else
    strarray(6) = ""
    End If
    End SubPrivate Sub chk7_Click()
    If chk7.Value = 1 Then
    strarray(7) = chk7.Caption
    Else
    strarray(7) = ""
    End If
    End SubPrivate Sub chk8_Click()
    If chk8.Value = 1 Then
    strarray(8) = chk8.Caption
    Else
    strarray(8) = ""
    End If
    End SubPrivate Sub chk9_Click()
    If chk9.Value = 1 Then
    strarray(9) = chk9.Caption
    Else
    strarray(9) = ""
    End If
    End Sub
    --------------------------------------------------------------
    //以上都是CHECKBOX控件
    --------------------------------------------------------------
    Private Sub cmd1_Click()    '这里是个按纽控件
    Dim str As String
    str = "你的爱好是"
    For i = 1 To i = 9
    If strarray(i) <> "" Then
    str = str & CStr(strarray(i))
    Else
    str = str
    End If
    Next
    MsgBox str             ‘这里 出了问题,STR的值是“你的爱好是”,而并不是str&strarrayEnd Sub我是新手,请各位大哥帮忙,谢谢了:)
      

  4.   

    控件      描述 
    复选框   整数,表明此条目是否被选中。 
             Null   表明该条目处于空的状态,既未被选中,也未被清除。 
             -1     True。表明此条目被选中。 
              0     False。表明此条目被清除 If chk8.Value = 1
    改为
    If chk8.Value = TRUE
      

  5.   

    不是这个问题,因为改了以后,我在CMD1_CLICK()过程里用msgbox strarray(1),仍然看不到strarray(1)的值。也就是strarray这个数组里面的项目并没有改变,仍是空值
      

  6.   

    Private Sub Command1_Click()
        MsgBox IIf(Check1.Value = 1, Check1.Caption, "") & IIf(Check2.Value = 1, Check2.Caption, "")
    End Sub
      

  7.   

    修改数组值肯定没错的。
    错的是你赋值的时候可能有毛病,你在chk9_Click跟一下,你看付了什么值给数组
      

  8.   

    子程序里面的strarray(1)到strarray(9)这些变量好象只具有块作用范围,出了子程序后,其值就变成了空的了。
      to:lxcc(虫莲)
      你的方法确实能用,但是我想知道我哪里出错了