VBA: 同時選中多個不相鄰的單元格區域
文章背景:在工作中,有時需要同時引用多個不連續的單元格區域,然後進行相應的操作(如改變單元格底色,增加外框線等)。
引用單元格區域的方式:
Range('A1:B5') 引用單元格區域
Range('A1','B5') 引用兩個單元格圍成的矩形區域
Range('A1:D5 , G6:I17') 引用兩個不連續的單元格區域
(1)單元格的區域已確定
假如有兩個不連續的單元格區域,D4:E5和G4:H5。在VBA中有兩種引用方式。
Setobj_range = Range('D4:E5,G4:H5')Set obj_range = Union(Range('D4:E5'), Range('G4:H5'))
示例:
Option ExplicitSub SelectDisContinous():
'已知目標區域的情況下,選中不連續的多個區域
Dim obj_range As Range
'方法1:Set obj_range = Range('D4:E5,G4:H5')
'方法2:
obj_range.Interior.ColorIndex = 22
End Sub
(2)單元格的區域不確定
假設一開始目標單元格區域不確定,經過判斷後才確定它在哪一行。
示例:經過判斷後,假定目標單元格的起始行在第4行。
Sub UnionDisContinous():
'確定目標區域後,選中不連續的多個區域
Dim obj_range As Range, num As Integer
num = 4
Set obj_range = Union(Range(Cells(num, 4), Cells(num 1, 5)), Range(Cells(num, 7), Cells(num 1, 8)))
obj_range.Interior.ColorIndex = 22
End Sub
蓡考資料:
[1] VBA 用變量或數組引用不連續單元格(https://blog.csdn.net/logo_28/article/details/104860715)
本站是提供個人知識琯理的網絡存儲空間,所有內容均由用戶發佈,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵擧報。
0條評論