如何引用非连续Excel范围中的第n个区域?

如何引用非连续Excel范围中的第n个区域?,excel,areas,vba,Excel,Areas,Vba,假设我选择了范围A1:B2、C3:C5。 使用VBA,我可以像这样在每个区域循环: Dim iArea As Range For Each iArea In Application.Selection.Areas Debug.Print iArea.Address Next iArea 我可以返回每个范围的地址,在本例中,$A$1:$B$2和$C$3:$C$5 如何引用范围中的第二个区域,或者更好的是,第n个区域?我可以使用range.Cells(cellNumberToReturn

假设我选择了范围
A1:B2、C3:C5

使用VBA,我可以像这样在每个区域循环:

Dim iArea As Range
For Each iArea In Application.Selection.Areas
    Debug.Print iArea.Address
Next iArea
我可以返回每个范围的地址,在本例中,
$A$1:$B$2
$C$3:$C$5

如何引用范围中的第二个区域,或者更好的是,第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
只需使用索引器:

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