Как создать автоматически обновляемый именованный диапазон со всеми именами моих листов? - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь создать VLOOKUP для поиска строк во всех моих листах. Я нашел код для этого, однако мне нужно иметь именованный диапазон со всеми именами моих листов. Однако к файлу, который я создаю, будут добавляться новые листы каждую неделю, и поэтому мне нужно, чтобы этот именованный диапазон со всеми именами моих листов автоматически обновлялся при добавлении, переименовании или удалении листов.

Как мне это сделать?

1 Ответ

0 голосов
/ 16 января 2019

Вы можете попробовать:

Option Explicit

Sub test()

    Dim ws As Worksheet
    Dim SearchString As String
    Dim LookUpRange As Range, FoundRange As Range
    Dim VLookupCol As Long

    SearchString = "Bingo"

    'Number of columns  for VLookup
    VLookupCol = 3

    For Each ws In ThisWorkbook.Worksheets
        'Search in each worksheet used range

        With ws
            Set LookUpRange = .UsedRange
            'Found range
            Set FoundRange = LookUpRange.Find(what:=SearchString, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)

            If Not FoundRange Is Nothing Then
                MsgBox .Cells(FoundRange.Row, FoundRange.Column + VLookupCol).Value
            End If
        End With

    Next ws

End Sub
...