VBA 用變量或數組引用不連續單元格

在工作中,常常會遇到引用不連續單元格的情況,經過摸索總結,有以下方法:

一、對象變量引用單元格本身

假如有三個不連續的單元格:A1,B2,B5

則用vba方法選中這三個不連續單元格的代碼如下:

1, range("A1,B2,B5").select

2,Union([A1], [B2], [B5]).selcet

以上均可使用range對象變量進行直接引用.

dim c as range

set c=range("A1,B2,B5")  或者 set c=Union([A1], [B2], [B5])

二、數組元素引用單元格數據

爲了便於循環引用,可將不連續單元格數據使用array()函數組成自定義數組,然後循環引用.

比如上述三個單元格,

dim brr

brr = Array([a1], [b2], [b5])

當然,考慮到通用性問題,可以將array中的元素使用變量代替

dim brr

dim a,b,c

set a=[a1]:set b=[b2]:set c=[b5]

brr= Array(a,b,c)

組成自定義數組後,便可使用brr(i)的方式進行相應單元格數據的引用.

三、不連續單元格一次性賦值

上面一、二我們得到了不連續單元格的對象引用以及數組方式的數據引用.爲此將二者結合起來,可以進行不連續單元格的批量賦值.

採用循環,一對一進行賦值.

 

dim rng as range

i=0

for each rng in c

rng=brr(i)

i=i+1

next

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章