如何引用非连续 Excel 范围内的第 n 个区域?
How can I refer to the nth area in a non-contigious Excel range?
假设我选择了范围A1:B2,C3:C5
。
使用VBA,我可以像这样遍历每个区域:
Dim iArea As Range
For Each iArea In Application.Selection.Areas
Debug.Print iArea.Address
Next iArea
我能够 return 每个范围的地址,在本例中为 $A:$B
和 $C:$C
。
如何引用范围内的第 2 个区域,或者更好的是,第 n 个区域?我可以使用 Range.Cells(cellNumberToReturn)
引用范围内的第 n 个单元格。范围是否类似?
只需使用索引器:
Sub F()
Dim rng As Range
Dim rngArea As Range
Set rng = Range("A1:B2,D3:E5")
Set rngArea = rng.Areas(2)
MsgBox rngArea.Address(0, 0) 'Shows D3:E5
End Sub
假设我选择了范围A1:B2,C3:C5
。
使用VBA,我可以像这样遍历每个区域:
Dim iArea As Range
For Each iArea In Application.Selection.Areas
Debug.Print iArea.Address
Next iArea
我能够 return 每个范围的地址,在本例中为 $A:$B
和 $C:$C
。
如何引用范围内的第 2 个区域,或者更好的是,第 n 个区域?我可以使用 Range.Cells(cellNumberToReturn)
引用范围内的第 n 个单元格。范围是否类似?
只需使用索引器:
Sub F()
Dim rng As Range
Dim rngArea As Range
Set rng = Range("A1:B2,D3:E5")
Set rngArea = rng.Areas(2)
MsgBox rngArea.Address(0, 0) 'Shows D3:E5
End Sub