3 回答

TA貢獻1804條經驗 獲得超2個贊
比如
dim a(10) as integer
ubound(a)=10
就是返回數組的上界
上面的-1就是從0到數組的上界減去1
比如上面的數組a的上界為10 那就是index從0到9執行9次循環
lbound是返回數組下界的意思
不知道你明白沒

TA貢獻2012條經驗 獲得超12個贊
我直接復制了
Sub 示例_1_023()
Dim Arr(1 To 10, 5 To 15, 10 To 20)
Dim Arr1(10)
[a1] = "數組變量:Arr(1 To 10, 5 To 15, 10 To 20) "
[a2] = "數組變量:Arr1(10) "
[a3] = "LBound(Arr, 1) 返回 ": [b3] = LBound(Arr, 1)
[c3] = "UBound(Arr, 1) 返回 ": [d3] = UBound(Arr, 1)
[a4] = "LBound(Arr, 3) 返回 ": [b4] = LBound(Arr, 3)
[c4] = "UBound(Arr, 3) 返回 ": [d4] = UBound(Arr, 3)
[a5] = "LBound(Arr1) 返回 ": [b5] = LBound(Arr1)
[c5] = "UBound(Arr1) 返回 ": [d5] = UBound(Arr1)
End Sub
代碼詳解
1、Sub 示例_1_023():宏程序的開始語句。宏名為示例_1_023。
2、Dim Arr(1 To 10, 5 To 15, 10 To 20) :聲明Arr為3維數組變量。
3、Dim Arr1(10) :聲明Arr1為1維數組變量。
4、[a1] = "數組變量:Arr(1 To 10, 5 To 15, 10 To 20) " :把字符串賦給單元格A1。
5、[a2] = "數組變量:Arr1(10) " :把字符串賦給單元格A2。
6、[b3] = LBound(Arr,1) :運用LBound函數,返回數組Arr的第1維的最小可用下
界,返回1,賦給單元格B3。
7、[d3] = UBound(Arr,1) :運用UBound函數,返回數組Arr的第1維的最大可用上
界,返回10,賦給單元格D3。
8、[b4] = LBound(Arr,3) :運用LBound函數,返回數組Arr的第3維的最小可用下
界,返回10,賦給單元格B4。
9、[d4] = UBound(Arr,3) :運用UBound函數,返回數組Arr的第3維的最大可用上
界,返回20,賦給單元格D4。
10、[b5] = LBound(Arr1) :運用LBound函數,返回數組Arr1的最小可用下界,返回0或者1,要取決于Option Base的設置,默認為0。
11、[d5] = UBound(Arr1) :運用UBound函數,返回數組Ar1r的最大可用上界,返回10,賦給單元格D5。
LBound 函數
返回一個 Long 型數據,其值為數組指定維可用的最小下界。
LBound(arrayname[, dimension])
LBound 函數的參數:
arrayname 必需的。數組變量的名稱,遵循標準的變量命名約定。
dimension 可選的;Variant (Long)。指定返回哪一維的下界。1 表示第一維,2 表示第二維,如此類推。如果省略 dimension,就認為是 1。
UBound 函數
返回一個 Long 型數據,其值為指定的數組維可用的最大上界。
UBound(arrayname[, dimension])
UBound 函數的語法包含下面部分:
arrayname 必需的。數組變量的名稱,遵循標準變量命名約定。
dimension 可選的;Variant (Long)。指定返回哪一維的上界。1 表示第一維,2 表示第二維,如此等等。如果省略 dimension,就認為是 1。
說明
UBound 函數與 LBound 函數一起使用,用來確定一個數組的大小。LBound 用來確定數組某一維的上界。

TA貢獻1827條經驗 獲得超9個贊
下標:數組元素最小的序號
上標:
數組元素最大的序號
dim
a(2)
'數組序號從
0
到
2,即:
a(0)
a(1)
a(2)
s1
=
lbound(a)
'返回
0
s2
=
ubound(a)
'返回
2
dim
b(2
to
5)
'數組序號從
2
到
5,即:
a(2)
a(3)
a(4)
a(5)
b1
=
lbound(b)
'返回
2
b2
=
ubound(b)
'返回
5
end
sub
- 3 回答
- 0 關注
- 210 瀏覽
添加回答
舉報