作者:xh7212176 | 来源:互联网 | 2023-01-30 23:22
我是VBA的新手.我需要编写一个程序,它将生成一个整数数组,并找到最小元素的索引.我收到此错误"类型不匹配:数组或用户定义的类型预期." 我调查了许多类似的问题,但无法弄清楚出了什么问题.
Function random_integer(Min As Integer, Max As Integer)
random_integer = Int((Max - Min + 1) * Rnd + Min)
End Function
Function generate_array(Size As Integer)
Dim Arr(Size)
For i = 0 To UBound(Arr)
Arr(i) = random_integer(i - 10, i + 10)
Next
generate_array = Arr
End Function
Function find_index_of_min_elem(ByRef Arr() As Variant)
Dim Min As Integer
Min = Arr(0)
Dim MinIndex As Integer
MinIndex = 0
For i = 1 To UBound(Arr)
If Arr(i)
Siddharth Ro..
7
问题是函数Function find_index_of_min_elem(ByRef Arr() As Integer)
期望Integer
一个参数,你a
作为一个传递Variant
a = generate_array(20)
IndexOfMinElemInA = find_index_of_min_elem(a)
您将获得的下一个错误是Dim Arr(Size) As Integer
.您不能像这样对数组进行维度.
我建议阅读数组.
可能还有其他错误,但我没有检查过.
1> Siddharth Ro..:
问题是函数Function find_index_of_min_elem(ByRef Arr() As Integer)
期望Integer
一个参数,你a
作为一个传递Variant
a = generate_array(20)
IndexOfMinElemInA = find_index_of_min_elem(a)
您将获得的下一个错误是Dim Arr(Size) As Integer
.您不能像这样对数组进行维度.
我建议阅读数组.
可能还有其他错误,但我没有检查过.
恭喜达到100K!有另外一个!