2015-03-29 6 views
0

Я пытаюсь сравнить имя с листами, которые уже существуют, чтобы узнать, было ли оно создано или еще нет.Сравнение имени рабочего листа в vba excel

Private Sub Workbook_Open() 
    Dim Ldate As String 
    Dim Lweekday As Integer 
    Dim Newweek As String 
    Dim Sname As String 

    Ldate = Date 
    Lweekday = Weekday(Ldate) 

    If Lweekday = 1 Then 
     Newweek = DateAdd("d", 3, Ldate) 
     Sname = Month(Newweek) & "-" & Day(Newweek) & "-" & Year(Newweek) 
     Sheets.Add.Name = Sname 
     Application.CutCopyMode = False 
     Worksheets("Template").Select 
     Range("A1:A2").Copy 
     Worksheets(Sname).Select 
     Range("A1").PasteSpecial 
     Application.CutCopyMode = False 

    End If  
End Sub 

В основном я хочу, чтобы проверить, если таблица была создана, и если он затем выйти из кода, если не затем скопировать и вставить шаблон на листе.

ответ

0

Вы можете просто добавить функцию, чтобы проверить это.

Private Function IsWorksheetExist(sName As String) As Boolean 
    Dim oWS As Worksheet 
    On Error Resume Next 
    Set oWS = ThisWorkbook.Worksheets(sName) 
    If oWS Is Nothing Then 
     IsWorksheetExist = False 
    Else 
     IsWorksheetExist = True 
    End If 
    On Error GoTo 0 
End Function 
Смежные вопросы