Const n = 8
    Dim A(n) As Integer
    
Private Sub Command1_Click()
'A(0) = Combo1.ListIndex
'A(1) = Combo2.ListIndex
'A(2) = Combo3.ListIndex
'A(3) = Combo4.ListIndex
'A(4) = Combo5.ListIndex
'A(5) = Combo6.ListIndex
'A(6) = Combo7.ListIndex
'A(7) = Combo8.ListIndex
'A(8) = Combo9.ListIndex
'A(0) = Combo1.ListIndex
A(0) = 0
A(1) = 1
A(2) = 2
A(3) = 3
A(4) = 4
A(5) = 5
A(6) = 6
A(7) = 7
A(8) = 8
Total_AB = 24 * Max_Month()
MsgBox "Total_AB等于:" & Total_AB
End SubPrivate Function Max_Month() As Integer    Const n = 8
    Dim B(n), i, j, temp As Integer
   
    B(0) = A(0) + 1: B(1) = A(1) + 1: B(2) = A(2) + 1: B(3) = A(3) + 1
    B(4) = A(4) + 1: B(5) = A(5) + 1: B(6) = A(6) + 1: B(7) = A(7) + 1: B(8) = A(8) + 1
        
    For i = 0 To n - 1
        For j = i + 1 To n - 1
          '升序排列
         If (B(j) < B(i)) Then temp = B(i): B(i) = B(j): B(j) = temp
          '降序排列
          'If (B(j) > B(i)) Then temp = B(i): B(i) = B(j): B(j) = temp
        Next
    Next
    Max_Month = B(j)
End Function   上面程序运行没有问题,最大值是9,最近结果是216。
    但,我做了9个Combo,它的list有“1月、2月……12月”我将Combo.ListIndex赋值给A(8)数组后,想求出选择的月份哪个最大,就求不出来了,结果是0,为什么?
   (Function Max_Month()里面之所以都+1,是因为索引是从0开始)

解决方案 »

  1.   

    自从有了.net就丢弃vb吧,这个控件当时我也学的糊涂
      

  2.   

    是啊,有9个combo,分别是combo1、combo2、combo3……combo9
    工作需要,还是得用6,没有转到.net
      

  3.   

    用先先学习一下combo用法!!!
    一个combo就可以有有12个月的list,
    listindex是combo 列表的索引值
      

  4.   

    拜托不用一发贴就“用先先学习一下combo用法!!!”
    谁不知道一个combo就可以有12个月的list,但这我就必须做9个combo,然后每个combo选择的月份都不一样。
      

  5.   

    Const n = 8
        Dim A(n) As Integer
    就該是從A(0)到A(7)吧
      

  6.   

    不好意思,是從a(0)到A(8)
    A(0) = Combo1.ListIndex?
    應該是 dim a(n) as string
    a(0)=Combo1.Text吧
    ListInde是什麼?索引值
      

  7.   

    既然你知道combo的用法,哪么将Combo.ListIndex赋值给A(8)数组,哪是什么意思呢!
      

  8.   

    因为我要比较的是哪个combo选择的月份最大。譬如说combo1它的索引是11,也就是它选择的是12月,它就最大。
      

  9.   

    For i = 0 To n - 1
            For j = i + 1 To n - 1
    =================================
    改成
    For i = 0 To n - 1
            For j = i + 1 To n
    Max_Month = B(j)
    ==================
    改成
    Max_Month = B(n)