Можно ли проверить, есть ли название листов? - PullRequest
1 голос
/ 23 марта 2012

Мне было интересно, можно ли проверить наличие на конкретных листах его наличия.Если он есть, он продолжит работу с остальной частью кода.Если не рядом, то он добавит в лист.

Я думал об этом, но это дает мне ошибку.Делитесь информацией, если знаете что-то!спасибо!

sub macro1()
If sheets("Test") = False Then
Sheets.Add.Name = "Test"
End If
'Run my code
End Sub

Ответы [ 2 ]

3 голосов
/ 23 марта 2012

Как это?

Sub Sample()
    Dim ws As Worksheet

    On Error Resume Next
    Set ws = Sheets("Test")
    On Error GoTo 0

    If ws Is Nothing Then
        Set ws = Sheets.Add
        ws.Name = "Test"
    End If

    '~~> Run your code
End Sub
1 голос
/ 24 марта 2012

Другой подход ... создать функцию, которая - принимает объект рабочей книги и имя листа, за которым вы работаете, и - возвращает true, если лист найден в рабочей книге

Function SheetExists(oWorkbook As Workbook, sSheetname As String)

    Dim oWs As Worksheet
    For Each oWs In oWorkbook.Worksheets
        If oWs.Name = sSheetname Then
            SheetExists = True
            Exit Function
        End If
    Next

End Function

Sub TestSheetExists()
    If SheetExists(ActiveWorkbook, "Bob") Then
        MsgBox "Found it"
    Else
        MsgBox "No joy"
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...