获取数组的长度?

我试图得到一个数组的长度,但我不断收到错误“对象请求”。

难道我做错了什么?

Dim columns As Variant columns = Array( _ "A", "ID", _ "D", "Name") Debug.Print columns.Length ' Error: Object required 

数组的长度:

UBound(columns)-LBound(columns)+1

UBound并不是获得每个数组长度的最佳方法,因为VBA中的数组可以从不同的索引开始,例如Dim arr(2到10)

UBound将返回正确的结果,只有当数组是基于1(开始索引在1例如Dim arr(1 to 10) 。它将返回错误的结果在任何其他情况下,例如Dim arr(10)

更多关于 VBA数组的教程 。