我正在试图创建我自己的数据类型,它应该包含一个数组和一个长数据类型;我已将其定义为公共类型:
Public Type MyData
Cluster() As Variant
Centroid As Long
End Type
我创建了一个子使用它:
Sub Mycluster()
Dim Cong As MyData
Dim i As Long
i = 1
ReDim Cong.Cluster(i)
For i = 1 To 10
Cong.Cluster(i) = Rnd() * 9 + 1
ReDim Preserve Cong.Cluster(i)
Next i
Cong.Centroid = Application.Average(Cong.Cluster)
Debug.Print Cong.Centroid
End Sub
但是在debbuging时我发现了这个错误:
一些帮助?
提前致谢!
答案 0 :(得分:1)
在尝试添加更多元素后,您正在重新调整,因此出现错误。但是既然你事先知道了尺寸,就不要认为你需要这么做。
Sub Mycluster()
Dim Cong As MyData
Dim i As Long
ReDim Cong.Cluster(1 To 10)
For i = 1 To 10
Cong.Cluster(i) = Rnd() * 9 + 1
'ReDim Preserve Cong.Cluster(i)
Next i
Cong.Centroid = Application.Average(Cong.Cluster)
Debug.Print Cong.Centroid
End Sub