新聞中心
Excel中VB編程如何獲取數(shù)組的維數(shù)
下面的代碼是含有錯(cuò)誤跳轉(zhuǎn)的,但是如果放在這一個(gè)函數(shù)里面不會(huì)影響你其他的代碼。
專注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)羅定免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
感覺(jué)完全不用錯(cuò)誤處理做不出來(lái)。【雖然有個(gè)IsError,但是無(wú)法像 IsError(UBound(mArray, i))這樣使用它,不然我們就可以不用跳轉(zhuǎn)了?!?/p>
【Excel中的VBA與VB語(yǔ)法上沒(méi)有什么差別】
設(shè)計(jì)思想:
在VB中數(shù)姐最大維數(shù)是60,所以我們通過(guò)錯(cuò)誤捕捉來(lái)處理這個(gè)問(wèn)題,在這里我們用到UBound函數(shù)
Public Function ArrayRange(mArray As Variant) As Integer
Dim i As Integer
Dim Ret As Integer
Dim ErrF As Boolean
ErrF = False
On Error GoTo ErrHandle
'判斷代入的參數(shù)是否為數(shù)組
If Not IsArray(mArray) Then
ArrayRange = -1
Exit Function
End If
'VB中數(shù)組最大為60
For i = 1 To 60
'用UBound函數(shù)判斷某一維的上界,如果大數(shù)組的實(shí)際維數(shù)時(shí)產(chǎn)生超出范圍錯(cuò)誤,
' 此時(shí)我們通過(guò)Resume Next 來(lái)捕捉錯(cuò)這個(gè)錯(cuò)誤
Ret = UBound(mArray, i)
If ErrF Then Exit For
Next i
'最后返回
ArrayRange = Ret
Exit Function
ErrHandle:
Ret = i - 1
ErrF = True
Resume Next
End Function
怎樣在vb中取出多維數(shù)組中的一維??
語(yǔ)法 UBound(arrayname[, dimension]) UBound 函數(shù)的語(yǔ)法包含下面部分:部分 描述arrayname 必需的。數(shù)組變量的名稱,遵循標(biāo)準(zhǔn)變量命名約定。 dimension 可選的;Variant (Long)。指定返回哪一維的上界。1 表示第一維,2 表示第二維,如此等等。如果省略 dimension,就認(rèn)為是 1。說(shuō)明 UBound 函數(shù)與 LBound 函數(shù)一起使用,用來(lái)確定一個(gè)數(shù)組的大小。LBound 用來(lái)確定數(shù)組某一維的上界。 對(duì)具有下述維數(shù)的數(shù)組而言,UBound 的返回值見(jiàn)下表: Dim A(1 To 100, 0 To 3, -3 To 4) 語(yǔ)句 返回值
VB.net中如何求出2維數(shù)組,每個(gè)維度上的值得個(gè)數(shù)
每行的數(shù)字個(gè)數(shù)不同,你說(shuō)的這是不規(guī)則數(shù)組,解決方案如下:
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 "個(gè)數(shù)" vbCrLf
Next
MessageBox.Show(b)
VB語(yǔ)言中數(shù)組的維度是指什么?
就是指引用一個(gè)數(shù)組元素時(shí),有幾個(gè)下標(biāo)來(lái)描述。
例如a(1)是數(shù)組的基本元素,則數(shù)組a就是一維數(shù)組;
b(1,2)是數(shù)組的基本元素,則數(shù)組b就是二維數(shù)組;
c(2,1,2)是數(shù)組的基本元素,則數(shù)組c就是三維數(shù)組;
vb.net中如何取多維數(shù)組的某一維
你說(shuō)的某一維只得是某一維的什么 數(shù)組么?還是說(shuō)某一維的具體對(duì)象
網(wǎng)站欄目:vb.net取數(shù)組的維度 vb中一維數(shù)組
網(wǎng)站URL:http://www.dlmjj.cn/article/docdccs.html