如何在 Excel VBA 的行范围内引用命名列

How to Reference a Named Column in a Range of Rows in Excel VBA

我想遍历用户选择的一组行的命名列中的所有单元格。但是,我不确定如何完成此操作。

Named Column in Selection of Rows

我已经使用 blow 代码获取用户选择的范围/行,但我不知道如何从那里获取该范围内命名列中的单元格。

Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)

这里有两种循环遍历范围 rng 中的每个单元格并证明我们访问了每个单元格的方法。

Dim r as Range
For Each r in rng
    r = "visited" 
Next r

Dim i As Long
For i = 1 To rng.Cells.Count
    rng.Cells(i) = "visited"
Next i

您可以使用 Intersect:

Sub Test()

Dim rng1 As Range, rng2 As Range, cl As Range
With ThisWorkbook.Sheets("Sheet1") 'Whichever sheet your working on
    Set rng1 = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)
    Set rng2 = Intersect(rng1, .Range("COLE")) 'Whichever name your named range is.
    For Each cl In rng2
        'Do something
    Next cl
End With    

End Sub

请注意,在取消输入框时,这将引发一个错误,您可以通过一些错误处理来解决该错误。