W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
既然你已經(jīng)知道了如何有規(guī)劃地產(chǎn)生一個清單(一維數(shù)組),是時候仔細(xì)看一下如何使用數(shù)據(jù)表了。下面的過程產(chǎn)生一個二維數(shù)組,儲存國家名稱,貨幣名稱和交換匯率。
Sub Exchange()
Dim t As String
Dim r As String
Dim Ex(3, 3) As Variant
t = Chr(9) 'tab
r = Chr(13) 'Enter
Ex(1, 1) = "Japan"
Ex(1, 2) = "Yen"
Ex(1, 3) = 128.2
Ex(2, 1) = "Mexico"
Ex(2, 2) = "Peso"
Ex(2, 3) = 9.423
Ex(3, 1) = "Canada"
Ex(3, 2) = "Dollar"
Ex(3, 3) = 1.567
MsgBox "Country " & t & t & "Currency" & t & "per US$" _
& r & r _
& Ex(1, 1) & t & t & Ex(1, 2) & t & Ex(1, 3) & r _
& Ex(2, 1) & t & t & Ex(2, 2) & t & Ex(2, 3) & r _
& Ex(3, 1) & t & t & Ex(3, 2) & t & Ex(3, 3), , _
"Exchange"
End Sub
當(dāng)你運行過程Exchange時,你將看到一個信息框,顯示三列信息(見圖7-2)
圖7-2 顯示在信息框上的文本是可以自定義格式的。
數(shù)組的維數(shù):
Dim?x?As?Long,?y?As?Long
Dim?arr(1?To?10,?1?To?3)?'創(chuàng)建一個可以容下10行3列的數(shù)組空間
For?x?=?1?To?4
For?y?=?1?To?3
arr(x,?y)?=?Cells(x,?y)?'通過循環(huán)把單元格區(qū)域a1:c4的數(shù)據(jù)裝進數(shù)組中
Next?y
Next?x
MsgBox?arr(4,?3)?'根據(jù)提供的行數(shù)和列數(shù)顯示數(shù)組
arr(1,?2)?=?"我改一下試試"'你可以隨時修改數(shù)組內(nèi)指定位置的數(shù)據(jù)
MsgBox?arr(1,?2)
End?Sub
Sub DynArray( ) Dim counter As Integer 'declare a dynamic array Dim myArray( ) As Integer 'specify the initial size of the array Redim myArray(5) Workbooks.Add 'populate myArray with values For counter = 1 to 5 myArray(counter) = counter +1 ActiveCell.Offset(counter-1, 0).Value = myArray(counter) Next 'change the size of myArray to hold 10 elements Redim Preserve myArray(10) 'add new values to myArray For counter = 6 To 10 myArray(counter) = counter * counter With ActiveCell.Offset(counter-1, 0) .Value = myArray(counter) .Font.Bold = True
End with Next counter
End Sub
myArray(counter) = counter + 1
分配數(shù)值2給 myArray 的第一個成員。第二條語句:ActiveCell.Offset(counter-1, 0).Value = myArray(counter)
將 myArray 成員的值輸入到當(dāng)前單元格里。當(dāng)前單元格為A1。因為變量 counter 等于1,所以上面的語句就等于:ActiveCell.Offset(1-1, 0).Value = myArray(1)
或者ActiveCell.Offset(0,0).Value = myArray(1)
上面的語句在單元格A1里輸入數(shù)據(jù)。循環(huán)里面的語句被執(zhí)行5次。VB在合適的工作表單元格里馬輸入數(shù)據(jù)并且進行到下一語句:ReDim Preserve myArray(10)
通常,當(dāng)你改變一個數(shù)組的大小時,你將失去該數(shù)組原來的所有數(shù)據(jù)。語句 ReDim 將數(shù)組重新初始化。然而,你可以將新成員加入到現(xiàn)存的數(shù)組里去,通過在語句 ReDim 后面帶上關(guān)鍵字 Preserve。換句話說,關(guān)鍵字 Preserve 保證重新改變大小的數(shù)組不會弄丟現(xiàn)有的數(shù)據(jù)。如果你忽略它,新數(shù)組將會Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: