如何在不受欢迎的Excel范围内引用第n个区域?

时间:2017-12-08 18:49:24

标签: excel-vba areas vba excel

假设我选择了范围A1:B2,C3:C5Excel screenshot showing selection of a non-contiguous range

使用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个单元格。范围类似吗?

1 个答案:

答案 0 :(得分:2)

只需使用索引器:

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