Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 如何使用嵌套范围?_Excel_Vba_Nested - Fatal编程技术网

Excel 如何使用嵌套范围?

Excel 如何使用嵌套范围?,excel,vba,nested,Excel,Vba,Nested,我在Excel中将几行命名为第9章,从这些行中我将几行命名为第9章第1章。 我想浏览所有第9章的行,当我识别出属于第9章第1章的行时,我想做一些其他的事情。 欢迎任何帮助。 谢谢。我不知道你为什么选择这种方法,但这里有一些东西 这基于Range.Intersect函数-它返回两个范围的公共范围。在您的情况下,rangeChapter_9和Chapter_9_1的交集将返回range,在其他情况下,它将返回nothing 这是我的密码 Sub Main() Dim rngChapters

我在Excel中将几行命名为第9章,从这些行中我将几行命名为第9章第1章。 我想浏览所有第9章的行,当我识别出属于第9章第1章的行时,我想做一些其他的事情。 欢迎任何帮助。
谢谢。

我不知道你为什么选择这种方法,但这里有一些东西

这基于Range.Intersect函数-它返回两个范围的公共范围。在您的情况下,range
Chapter_9
Chapter_9_1
的交集将返回range,在其他情况下,它将返回
nothing

这是我的密码

Sub Main()
    Dim rngChapters As Range
    Dim rngChapter1 As Range
    Dim rngChapter2 As Range
    Dim rngChapter3 As Range
    Dim rngIntersect As Range
    Dim cell As Range

    ' A1:A15
    Set rngChapters = Range("Chapters")

    ' A1:A5
    Set rngChapter1 = Range("Chapter1")

    ' A6:A10
    Set rngChapter2 = Range("Chapter2")

    ' A11:A15
    Set rngChapter3 = Range("Chapter3")

    Set rngIntersect = Intersect(rngChapters, rngChapter2)

    ' Testing if the ranges intersect
    If rngIntersect Is Nothing Then
        Debug.Print "empty"
    Else
        For Each cell In rngIntersect
            Debug.Print cell.Address
        Next cell
    End If
End Sub

您可以将此函数转换为u函数,该函数将接受两个字符串(范围名称)作为参数并返回true/false。这取决于你想做什么。