Проверьте, существует ли лист, если нет, создайте -VBA [дубликат]

В качестве дополнения вы также можете смешивать различные способы использования при вызове функций kwargs:

def test(**kwargs):
    print kwargs['a']
    print kwargs['b']
    print kwargs['c']


args = { 'b': 2, 'c': 3}

test( a=1, **args )

дает этот вывод:

1
2
3

Обратите внимание, что ** kwargs имеет быть последним аргументом

0
задан Pᴇʜ 22 February 2019 в 09:40
поделиться

2 ответа

Это то, что я использую. Не надо зацикливаться. Непосредственно попробуйте присвоить объекту. В случае успеха это означает, что лист существует:)

Function DoesSheetExists(sh As String) As Boolean
    Dim ws As Worksheet

    On Error Resume Next
    Set ws = ThisWorkbook.Sheets(sh)
    On Error GoTo 0

    If Not ws Is Nothing Then DoesSheetExists = True
End Function

USAGE

Sub Sample()
    Dim s As String: s = "Sheet1"

    If DoesSheetExists(s) Then
        '
        '~~> Do what you want
        '
    Else
        MsgBox "Sheet " & s & " does not exist"
    End If
End Sub
0
ответ дан Siddharth Rout 22 February 2019 в 09:40
поделиться
Sub solution1()    
    If Not sheet_exists("sheetnotfound") Then
        ThisWorkbook.Sheets.Add( _
                    After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)).Name = _
                    "sheetnotfound"
    End If    
End Sub


Function sheet_exists(strSheetName As String) As Boolean        
    Dim w As Excel.Worksheet
    On Error GoTo eHandle
    Set w = ThisWorkbook.Worksheets(strSheetName)
    sheet_exists = True

    Exit Function 
eHandle:
    sheet_exists = False
End Function
0
ответ дан Pᴇʜ 22 February 2019 в 09:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: