Определите, существует ли именованный диапазон, если это так, скопируйте его, если не двигайтесь дальше - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь определить, существует ли именованный диапазон в моей электронной таблице. Если он не существует, я не хочу устанавливать переменную для него. Если он существует, я хочу установить переменную для него.

Я попробовал следующее, но, похоже, не могу понять формулировку совершенно правильно.

If RangeExist("Table1") <> 0 Then
    Set QuBuild = ThisWorkbook.Worksheets("Features").Range("Table1")
Else
End If

Если именованный диапазон "Table1" существует, я хочу установить его в переменную "QuBuild", чтобы потом что-то делать (вставить таблицу в слово). Если его не существует, я не хочу устанавливать «QuBuild» равным чему-либо.

Любая помощь будет высоко ценится!

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Вот ответ специально для Именованных диапазонов.

Public Sub ExampleUsage()
    Debug.Print DoesNameRangeExist("Table1")
End Sub

Public Function DoesNameRangeExist(ByVal NameOfRange As String) As Boolean
    Dim NamedRanges    As Names
    Dim Name           As Name

    Set NamedRanges = ThisWorkbook.Names
    DoesNameRangeExist = False

    For Each Name In NamedRanges
        If Name.Name = NameOfRange Then
            DoesNameRangeExist = True
            Exit For
        End If
    Next

End Function
0 голосов
/ 05 июня 2019

Попробуйте:

Option Explicit

Sub test()

    Dim tbl As ListObject
    Dim ws As Worksheet

    'Loop all worksheets
    For Each ws In ThisWorkbook.Worksheets
        'Loop all tables - Listobjects
        For Each tbl In ws.ListObjects

            If tbl.Name = "Table1" Then

            End If

        Next tbl

    Next ws

End Sub

ИЛИ:

Sub test()

    Dim strNameRange
    Dim ws As Worksheets

    For Each strNameRange In ThisWorkbook.Names

        If strNameRange.Name = "Table1" Then

        End If

    Next strNameRange

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...