关于Combo的索引的问题,换成它就不行了!
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 Sub
Private 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开始)
[解决办法]
不好意思,是從a(0)到A(8)
A(0) = Combo1.ListIndex?
應該是 dim a(n) as string
a(0)=Combo1.Text吧
ListInde是什麼?索引值
[解决办法]
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)