VBA 6.0 中的用户定义类型 (UDT) 行为
User defined type (UDT) behavior in VBA 6.0
我正在尝试创建我自己的数据类型,它应该包含一个数组和一个长数据类型;我将其定义为 public 类型:
Public Type MyData
Cluster() As Variant
Centroid As Long
End Type
而且我已经创建了一个 sub 来使用它:
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
但是在调试时出现这个错误:
有帮助吗?
提前致谢!
您在尝试添加更多元素后重新调光,因此出现错误。但既然您预先知道尺寸,就认为您根本不需要这样做。
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
我正在尝试创建我自己的数据类型,它应该包含一个数组和一个长数据类型;我将其定义为 public 类型:
Public Type MyData
Cluster() As Variant
Centroid As Long
End Type
而且我已经创建了一个 sub 来使用它:
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
但是在调试时出现这个错误:
有帮助吗?
提前致谢!
您在尝试添加更多元素后重新调光,因此出现错误。但既然您预先知道尺寸,就认为您根本不需要这样做。
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