Проверка существующих имен листов в диапазоне VBA - PullRequest
0 голосов
/ 22 мая 2019

Я пишу макрос, который проверяет, существует ли в списке имен вкладок существующая в настоящее время вкладка или лист, скажем, в столбце A. Столбец A находится на вкладке с именем Import RPT

Если имяуже существует, я хочу, чтобы макрос завершился и создал MsgBox, говорящий о том, что электронная таблица уже существует в строке i столбца A. Если нет, то я хочу продолжить.что-то вроде этого

Dim sht As Worksheet, r As Range

With Sheets("Import RPT")
    For Each sht In Worksheets
        Set r = sht.Cells.Range("C2:C" & Count)
        If Application.WorksheetFunction.CountIf(Range("rngSheetInclusions"), sht.Name) > 0 Then
            strResult = strResult & "Duplicate Name: " & r & vbNewLine & "Rows: " & _
            Left(dict.Item(r), Len(dict.Item(r)) - 1) & vbNewLine & vbNewLine
            MsgBox strResul

    Next

Любая помощь очень ценится;завершить Newb to VBA

Dim sht As Worksheet, r As Range  

With Sheets("Import RPT")
    For Each sht In Worksheets
        Set r = sht.Cells.Range("C2:C" & Count)
        If Application.WorksheetFunction.CountIf(Range("rngSheetInclusions"), sht.Name) > 0 Then
            strResult = strResult & "Duplicate Name: " & r & vbNewLine & "Rows: " & _
            Left(dict.Item(r), Len(dict.Item(r)) - 1) & vbNewLine & vbNewLine
            MsgBox strResul

    Next

1 Ответ

1 голос
/ 22 мая 2019
 Public Function SheetExists(s as string) As Boolean
     'Returns true if s is the name of a sheet in the current workbook
     On Error Goto NOPE
     Dim ws As Worksheet
     Set ws = ThisWorkbook.Sheets(s)
     SheetExists = True
     Exit function

 NOPE:
     SheetExists = False
 End function

Если у вас есть эта функция, вы можете ввести =SheetExists(A1) в ячейку B1, и она покажет true или false.Затем перетащите вниз оставшуюся часть b рядом с именами вкладок

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