在工作中,常常會遇到引用不連續單元格的情況,經過摸索總結,有以下方法:
一、對象變量引用單元格本身
假如有三個不連續的單元格: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