重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
若是有option base XX,例如option base 1,a(3,4)就等价于a(1 To 3,1 To 4),数组就有3*4=12个元素。
创新互联建站专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,绵阳服务器托管,绵阳服务器托管,成都多线服务器托管等服务器托管服务。
例如a(3,4),第一维是3,第二维是4,数组就有(3+1)*(4+1)=20个元素,因为这时下界默认是0,等价于a(0 To 3,0 To 4)。
同理,option base 2,a(3,4)就等价于a(2 To 3,2 To 4),数组就有(3-1)*(4-1)=6个元素。
n = (ubound(arr,1) - lbound(arr,1) +1) * (ubound(arr,2) - lbound(arr,2) +1)将数组的名字替换公式中的 arr,就可以计算出个数 n ,与option base 什么的都没关系。
VBA判断数组上下限和数组长度(元素个数数组下限,LBOUND(数组) 结果,一般为0数组上限:UBOUND(数组)数组长度:,UBOUND(数组)-LBOUND(数组)+1。
每行的数字个数不同,你说的这是不规则数组,解决方案如下:
Dim b As String = ""
Dim a As Integer()() = New Integer(9)() {}
a(0) = New Integer() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
a(1) = New Integer() {0, 3, 4, 5}
a(2) = New Integer() {0, 4, 5, 6, 7}
a(3) = New Integer() {0, 6, 5, 8, 9, 1}
a(4) = New Integer() {0, 2, 5, 1, 7}
a(5) = New Integer() {0, 4, 2, 6, 7, 3}
a(6) = New Integer() {0, 4, 5, 3, 2}
a(7) = New Integer() {0, 4, 1, 6, 2, 8, 5, 3}
a(8) = New Integer() {0, 4, 9, 6, 3, 5, 7}
a(9) = New Integer() {0, 1, 5, 9, 7, 6, 2, 4, 3, 8}
For i As Integer = 0 To a.GetUpperBound(0)
b = "第" i + 1 "行有" a(i).GetUpperBound(0) + 1 "个数" vbCrLf
Next
MessageBox.Show(b)
共15个元素。
这是一个二维数组,第一维从3到5(3、4、5),共3个元素;第二维从-2到2(-2、-1、0、1、2),共5个元素
所以,元素个数为3*5=15
Dim
A(1
To
6,
6)
As
String定义的数组包含的元素个数是42
Dim
A(6,
6)
As
Integer定义的数组包含的元素个数是49,二维数组,长宽都是是7
Dim
B(10
To
20)
定义的数组元素个数是11,UBound(数组名)-LBound(数组名)+1,20-10+1=11
a10(5)相当于在一维数组的5个点
b
(3,4)相当于在二维数组里的12个点(x轴上三个点,y轴上四个点)
c
(1
to
5,2
to
4,
3
to
6)相当于在三维数组里的60个点(5×3×4)
dim
a10(5):一维数组,限5;整型
dim
b(3,4):二维,限3,4;整型
dim
c(1
to
5,2
to
4,3
to
6):三维,限5,3,4