一、題目:
要求編寫一段代碼,運用LBound函數,返回數組的指定維數的最小可用下界;運用UBound函數,返回數組的指定維數的最大可用上界。
二、代碼:
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 用來確定數組某一維的上界。