Как выбрать лист с помощью переменной даты? - PullRequest
0 голосов
/ 29 июня 2019

Я пытался выбрать и удалить лист, используя эту переменную szTodayDate, но я продолжаю получать ошибку времени выполнения 9.

Option Explicit
Dim szTodayDate As String

Public Sub AddSheetsTodayDate()

    szTodayDate = Format(Date, "dd-mmm-yy")

    On Error GoTo MakeSheet
    Sheets(szTodayDate).Activate
    Exit Sub
MakeSheet:
    Sheets.Add , Worksheets(Worksheets.Count)
    ActiveSheet.Name = szTodayDate

End Sub

Public Sub RecordProgress()
    Worksheets(szTodayDate).Select  
End Sub

Ответы [ 2 ]

0 голосов
/ 30 июня 2019

Это будет работать для вас:

Я использовал Evaluate, как упомянуто Рори в этом Ответе , чтобы проверить, существует ли лист.

Option Explicit
Public szTodayDate As String

Public Sub AddSheetsTodayDate()

    Dim WorksheetExists As Boolean
    Dim ws As Worksheet

        szTodayDate = format(Now, "dd-mmm-yy")
        WorksheetExists = Evaluate("ISREF('" & szTodayDate & "'!A1)")

    If Not WorksheetExists Then

        Sheets.Add , Worksheets(Worksheets.Count)
        ActiveSheet.Name = szTodayDate

    Else: Sheets(szTodayDate).Activate

    End If

End Sub

Public Sub RecordProgress()
    Worksheets(szTodayDate).Select  
End Sub
0 голосов
/ 29 июня 2019

Проблема с вашей декларацией szTodayDate.Измените его на:
Public szTodayDate As String

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