Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Excel VBA中引用一系列行中的命名列_Excel_Vba_Named Ranges - Fatal编程技术网

如何在Excel VBA中引用一系列行中的命名列

如何在Excel VBA中引用一系列行中的命名列,excel,vba,named-ranges,Excel,Vba,Named Ranges,我想循环遍历用户选择的一组行的命名列中的所有单元格。然而,我不知道如何做到这一点 我已经使用blow代码来获取用户选择的范围/行,但我不知道如何从那里获取该范围内命名列中的单元格 Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8) 这里有两种方法可以循环遍历范围rng中的每个单元格,并证明我们访问了每个单元格 Dim r as Range For Each r in rng

我想循环遍历用户选择的一组行的命名列中的所有单元格。然而,我不知道如何做到这一点

我已经使用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

您可以使用:


请注意,在取消inputbox时,这将抛出一个错误,您可以通过一些错误处理来解决。

Perfect!正是我想要的。
Dim i As Long
For i = 1 To rng.Cells.Count
    rng.Cells(i) = "visited"
Next i
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