VBA: 同時選中多個不相鄰的單元格區域

VBA: 同時選中多個不相鄰的單元格區域,第1張

文章背景:在工作中,有時需要同時引用多個不連續的單元格區域,然後進行相應的操作(如改變單元格底色,增加外框線等)。

引用單元格區域的方式:

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 Explicit

Sub SelectDisContinous():

   '已知目標區域的情況下,選中不連續的多個區域
   Dim obj_range As Range
   

   '方法1:Set obj_range = Range('D4:E5,G4:H5')

 '方法2:

   Set obj_range = Union(Range('D4:E5'), Range('G4:H5'))
   
   obj_range.Interior.ColorIndex = 22

End Sub

VBA: 同時選中多個不相鄰的單元格區域,圖片,第2張

(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)


本站是提供個人知識琯理的網絡存儲空間,所有內容均由用戶發佈,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵擧報。

生活常識_百科知識_各類知識大全»VBA: 同時選中多個不相鄰的單元格區域

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情