如何在 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
请注意,在取消输入框时,这将引发一个错误,您可以通过一些错误处理来解决该错误。
我想遍历用户选择的一组行的命名列中的所有单元格。但是,我不确定如何完成此操作。
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
请注意,在取消输入框时,这将引发一个错误,您可以通过一些错误处理来解决该错误。