免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
VBA進(jìn)階 | 數(shù)組基礎(chǔ)06: 與數(shù)組相關(guān)的函數(shù)——Array函數(shù)與IsArray函數(shù)

 

在某些情形下,可以使用Array函數(shù)方便地填充數(shù)組。例如,下面的代碼:

 

Dim myArray

myArray =Array('國(guó)慶節(jié)', '中秋節(jié)', '元旦', '春節(jié)')

 

等價(jià)于:

 

Dim myArray(3)

myArray(0) = '國(guó)慶節(jié)'

myArray(1) = '中秋節(jié)'

myArray(2) = '元旦'

myArray(3) = '春節(jié)'

 

因此,Array函數(shù)可以將一組值批量賦給一個(gè)數(shù)組。

 

Array函數(shù)語法

Array函數(shù)返回一個(gè)Variant型數(shù)組,該數(shù)組由傳遞給該函數(shù)的參數(shù)組成。其語法為:

Array([元素1],[元素2],…,[元素n])

其中:

  • 元素1n可以是任意數(shù)據(jù)類型,代表賦給數(shù)組元素的數(shù)據(jù)。

  • Array函數(shù)返回的數(shù)組只可賦值給一個(gè)Variant型變量,不能賦值給已聲明為數(shù)組變量的變量。

  • Array函數(shù)返回的數(shù)組中元素的順序與傳遞給函數(shù)的參數(shù)值的順序相同。

  • Array函數(shù)總是返回Variant類型的數(shù)組,但元素的數(shù)據(jù)類型可以不同,這取決于傳遞給該函數(shù)的數(shù)值類型。例如Array('One', 2, 3.14)返回的數(shù)組中,第1個(gè)元素是String型,第2個(gè)是Integer型,第3個(gè)是Double型。

  • Array函數(shù)創(chuàng)建的數(shù)組下限由Option Base確定。若忽略該語句,則數(shù)組下限值為0。

  • Array函數(shù)沒有任何參數(shù),則會(huì)創(chuàng)建一個(gè)空數(shù)組。

  • Array函數(shù)返回的數(shù)組是動(dòng)態(tài)數(shù)組,其初始大小是Array函數(shù)的參數(shù)數(shù)量,可以使用ReDim、ReDim Preserve來對(duì)所創(chuàng)建的數(shù)組重新定義維數(shù)。

  • 如果使用VBA.Array(),例如

Dim myArray As Variant

myArray = VBA.Array(“國(guó)慶節(jié)”,”中秋節(jié)”,”元旦”)

那么數(shù)組的基數(shù)總是0,與Option Base的設(shè)置無關(guān)。即Option Base 1時(shí),myArray(1)的值仍然是“中秋節(jié)”。

 

編程技巧

1. 在已確定元素內(nèi)容時(shí),使用Array函數(shù)更有效率。例如:

Dim myArray AsVariant

myArray =Array('國(guó)慶節(jié)', '中秋節(jié)', '元旦', '春節(jié)')

 

2. 可以使用Array函數(shù)創(chuàng)建多維數(shù)組,例如:

Dim myArray AsVariant

   

myArray =Array(Array('One', 'Two', 'Three'), _

                  Array('Four','Five', 'Six'), _

                  Array('Seven','Eight', 'Nine'))

創(chuàng)建了一個(gè)33列的二維數(shù)組。

然而,要訪問這個(gè)數(shù)組中的元素,例如第2行第3列的元素?cái)?shù)據(jù)“Six”,不能夠使用:

myArray(1, 2)

這樣,將產(chǎn)生“下標(biāo)越界”錯(cuò)誤。

而應(yīng)該使用:

myArray(1)(2)

或者,先聲明一個(gè)Variant型變量,然后將相應(yīng)行的第1維賦值給該變量,再使用該變量來訪問相應(yīng)列的元素?cái)?shù)據(jù),例如:

Dim vElement AsVariant

vElement =myArray(1)

   

MsgBox vElement(2)

 

3. 可以使用Array函數(shù)來為ActiveX 列表框或組合框控件賦值,例如:

Me.ListBox1.List =Array('國(guó)慶節(jié)', '中秋節(jié)', '元旦', '春節(jié)')

給列表框添加了4個(gè)節(jié)日名。

 

4. 可以使用Array函數(shù)創(chuàng)建控件數(shù)組,即將控件名稱作為Array函數(shù)的參數(shù)。然后,可以將數(shù)組元素當(dāng)作相應(yīng)的控件對(duì)象來使用,例如:

Private SubCommandButton1_Click()

    Me.ListBox1.Clear

    Me.ListBox1.List = Array('國(guó)慶節(jié)', '中秋節(jié)', '元旦', '春節(jié)')

    Me.ListBox1.ListIndex = 0

End Sub

 

Private SubCommandButton2_Click()

    Dim myArray As Variant

    myArray = Array(ListBox1, CommandButton1)

    MsgBox myArray(0).Text

End Sub

運(yùn)行后的結(jié)果如下圖1所示。

 1

 

示例

示例1使用Array函數(shù)創(chuàng)建數(shù)組

Sub TestArray()

    Dim myArray() As Variant

 

    '從逗號(hào)分隔的字符串列表中創(chuàng)建數(shù)組

    myArray = Array('One','Two', 'Three')

    '顯示數(shù)組元素

    MsgBox myArray(0) & vbCr &myArray(1) & vbCr & myArray(2)

    '也可以使用數(shù)值作為參數(shù)

    myArray = Array(10, 20, 30)

    '顯示數(shù)組元素

    MsgBox myArray(0) & vbCr &myArray(1) & vbCr & myArray(2)

End Sub

 

示例2:下面的示例先使用Array函數(shù)將一組值賦給變量myArray,然后將該變量中的值輸入到工作表Sheet1的第1行。

Option Base 1

Sub ArrayTest()

Dim myArray As Variant

Dim iCount As Integer

 

myArray = Array('姓名',”性別”,”成績(jī)”)

 

With Worksheets(“Sheet1”)

    ForiCount = 1 To UBound(myArray)

       .Cells(1,iCount).Value = myArray(iCount)

    NextiCount

End With

End Sub

運(yùn)行代碼后的結(jié)果如圖2所示。

 2

  

在某些情形下,需要檢驗(yàn)?zāi)硞€(gè)變量是否為數(shù)組,以便于后續(xù)操作,此時(shí),可以使用IsArray函數(shù)。

 

IsArray函數(shù)語法

IsArray函數(shù)返回一個(gè)Boolean值,表明傳遞給該函數(shù)的變量是否為數(shù)組。其語法為:

IsArray(varname)

其中:

  • 參數(shù)varname為等檢驗(yàn)是否為數(shù)組的變量的名稱。

  • 如果傳遞給IsArray函數(shù)的變量是一個(gè)數(shù)組或者包含一個(gè)數(shù)組,則返回值為True;否則為False

 

編程技巧

在不確定使用的變量是否為數(shù)組時(shí),如果試圖訪問不存在的數(shù)組中的元素或者對(duì)其使用數(shù)組函數(shù)(如LBound或者UBound),就會(huì)導(dǎo)致錯(cuò)誤。此時(shí),可以先使用IsArray函數(shù)來確定其是否為數(shù)組,然后再進(jìn)行后續(xù)相應(yīng)的操作。

例如,下面的代碼段檢查變量myArray是否為數(shù)組,若不是則退出:

If NotIsArray(myArray) Then Exit Sub

 


 

相關(guān)鏈接:

VBA進(jìn)階 | 數(shù)組基礎(chǔ)01: 用最淺顯的介紹來幫助你認(rèn)識(shí)數(shù)組

VBA進(jìn)階 | 數(shù)組基礎(chǔ)02: 簡(jiǎn)單的數(shù)組操作

VBA進(jìn)階 | 數(shù)組基礎(chǔ)03: 二維數(shù)組

VBA進(jìn)階 | 數(shù)組基礎(chǔ)04: 運(yùn)用數(shù)組處理工作表數(shù)據(jù)

VBA進(jìn)階 | 數(shù)組基礎(chǔ)05: 動(dòng)態(tài)數(shù)組

 


 

本文屬原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處。

歡迎在下面留言,完善本文內(nèi)容,讓更多的人學(xué)到更完美的知識(shí)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VBS數(shù)組深入淺出
asp?vbscript?數(shù)組的使用
VBA數(shù)組基礎(chǔ)學(xué)習(xí)
一些有用的在VBA中處理數(shù)組的函數(shù)
asp數(shù)組的使用
第8章 數(shù)組
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服