二十講 數(shù)組1 基礎

一 什么是VBA數(shù)組

數(shù)組可以大大節(jié)省系統(tǒng)運算時間,提高效率。數(shù)組就是儲存一組數(shù)據(jù)的數(shù)據(jù)空間,數(shù)據(jù)類型可以是數(shù)字,可以是文本也可以是對象,也可以是VBA數(shù)組。

二 VBA數(shù)組的存在形態(tài)

VBA數(shù)組是以變量形式存放的一個空間,它也有行有列,也可以是三維空間。

1 常量數(shù)組

array(1,2)

array(array(1,2,3),array("a","b","c"))

2 靜態(tài)數(shù)組

常量數(shù)組是一個教室,已經有四個人坐在教室,靜態(tài)數(shù)組是有一個教室,但是并沒有人坐在教室里。

2.1 單維數(shù)組

x(4) ‘有五個位置,編號從0到4

arr(1 to 10) '有10個位置,編號從1到10

2.2 二維數(shù)組

arr(1 to 10,1 to 2) '十行兩列的空間,總共20個位置,這是二維數(shù)組

2.3 三維數(shù)組

三維數(shù)組應用并不廣泛。

arr(1 to 10,1to 2, 1 to 3) '三維數(shù)組,總共10*2*3 = 60 個位置。

3 動態(tài)數(shù)組

arr() ’不知道有多少行多少列

三 數(shù)組寫入數(shù)據(jù)

1 按編號寫入和讀取

1.1 寫入一維數(shù)組

Sub t1()

Dim x As Integer

Dim arr(1 To 10) ‘十個座位的數(shù)組

For x = 1 To 7

arr(x) = x * 10

Next x

Stop

End Sub

Sub t1()

Dim x As Integer

Dim arr(1 To 10)

For x = 1 To 7

arr(x) = x * 10

Next x

arr(4) = 234

Stop

End Sub





1.2 二維數(shù)組寫入數(shù)據(jù)

Sub t2()

Dim x As Integer, y As Integer

Dim arr(1 To 5, 1 To 4)

For x = 1 To 5

For y = 1 To 4

arr(x, y) = Cells(x, y)

Next y

Next x

Stop

End Sub

2 動態(tài)數(shù)組

寫入分為兩步,第一步聲明一個不固定大小的數(shù)組,第二步在已經知道數(shù)組大小的情況下再重新聲明一下。

Sub t3()

Dim arr()

Dim row

row = Sheets("第二十講").Range("a65536").End(xlUp).row - 1

ReDim arr(1 To row)

For x = 1 To row

arr(x) = Cells(x, 1)

Next x

Stop

End Sub

原始表格圖如下


3 批量寫入

批量寫入可以由常量數(shù)組導入,或者由單元格區(qū)域導入

Sub t4()

Dim arr()

arr = Array(1, 2, 3, "a") ’由常量數(shù)組導入

Stop

End Sub


Sub t5()

Dim arr

arr = Range("a1:a5") ‘由單元格區(qū)域導入

Stop

End Sub


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 函數(shù)可以應用于數(shù)組,不需要進行循環(huán)。 一 函數(shù)在數(shù)組中的應用 1.1 數(shù)組的最值 Sub s() Dim arr1...
    肉丸子豆閱讀 1,436評論 0 3
  • VBA數(shù)組 1.在內存中讀取 在內存中讀取后用于繼續(xù)運算,直接用下面的格式。表示編號是5的數(shù)字,并不是行數(shù)。如編號...
    肉丸子豆閱讀 373評論 0 1
  • 本例為設置密碼窗口 (1) If Application.InputBox(“請輸入密碼:”) = 1234 Th...
    浮浮塵塵閱讀 13,766評論 1 20
  • 數(shù)組也可以設置格式么? 數(shù)組除了數(shù)字類型外,當然沒有顏色,字體等格式,但是range對象可以表示多個連接或者不連接...
    肉丸子豆閱讀 838評論 0 0
  • 地震災區(qū)小朋友的作文。 “毛毛蟲爬到樹葉下睡大覺,夢到自己會變成一只美麗的蝴蝶。” 看慣了辭藻華麗,修飾堆砌的文章...
    紓怡閱讀 107評論 0 1