For I = 0 To 10               '取check1().index值
    For A = 0 To 10
       If Check1(I).Value = 1 Then
           temp(A) = Check1(I).Index
           
           End If
          Next A
           Next I

解决方案 »

  1.   

    如果是有10个check1数组控件,必须减去一个
      For I = 0 To 10 -1              '取check1().index值
      

  2.   

    For I = 0 To check1.ubound
    ....
      

  3.   

    For I = 0 To check1.ubound不起作用
      

  4.   

    就这temp(I) = Check1(I).Index下标越界
      

  5.   

    我哭。
    WM_JAWIN(WM_SYSCOMMAND_CALLJAWIN) 是不是.NET看多了    For I = 0 To Check1.Count-1               '取check1().index值
        For A = 0 To 10
           If Check1(I).Value = 1 Then
               temp(A) = Check1(I).Index
               
               End If
              Next A
               Next I不过看起来这个循环嵌套怎么有问题呢。最后的结果应该是有任何一个控件被选中了,那么TEMP数组的值都变成该控件的编号了。。楼主是不是想把被选中控件的编号存到数组里啊那一个循环就可以了
    For I = 0 To Check1.Count-1               '取check1().index值
           If Check1(I).Value = 1 Then  temp(I) = Check1(I).Index
    Next I
      

  6.   

    我是想把被选中控件的编号存到数组里但For I = 0 To Check1.Count-1               '取check1().index值
           If Check1(I).Value = 1 Then  temp(I) = Check1(I).Index
    Next I
    还是不行
      

  7.   

    check1()选中控件的编号存到数组temp()里
      

  8.   

    你这段程序怪怪的.不知你想干嘛.
    不过Check1.UBound是没有语法错的,想当于楼上的Check1.Count -1例如:
    Dim temp() As String '方便用Join()函数而定义成int
    Dim I As Integer, A As Integer
    ReDim temp(Check1.UBound)
       
    For I = 0 To Check1.UBound
        If Check1(I).Value = 1 Then
           temp(A) = Check1(I).Index
           A = A + 1
        End If
    Next 
    MsgBox "Check1()组中,你选中了" & A & "个,ID分别是" & Join(temp)