Как обернуть мой макрос в предложении IF EXIST [дубликат]

0

На этот вопрос уже есть ответ здесь:

У меня есть следующий код:

If Sheets("EstimateTemplate").Visible Then
    Sheets("EstimateTemplate").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Navigation").Select
Else
    Sheets("EstimateTemplate").Visible = True
    Sheets("Navigation").Select
End If

как я могу обернуть его с предложением «ЕСЛИ ЛИСТ СУЩЕСТВУЕТ»

Я попробовал следующее, которое не сработало

IF not Sheets("EstimateTemplate") = "" then
   If Sheets("EstimateTemplate").Visible Then
   Sheets("EstimateTemplate").Select
   ActiveWindow.SelectedSheets.Visible = False
   Sheets("Navigation").Select
   Else
   Sheets("EstimateTemplate").Visible = True
   Sheets("Navigation").Select
   End If
end if
DanM
источник
моя вина. забыл, что задал этот вопрос. исправить сработало.
DanM

Ответы:

0

Я беру решение отсюда как хороший:

Для этого нет встроенной функции.

Function SheetExists(SheetName As String, Optional wb As Excel.Workbook)
   Dim s As Excel.Worksheet
   If wb Is Nothing Then Set wb = ThisWorkbook
   On Error Resume Next
   Set s = wb.Sheets(SheetName)
   On Error GoTo 0
   SheetExists = Not s Is Nothing
End Function

Итак, вы в конечном итоге:

IF SheetExists("EstimateTemplate") then
   If Sheets("EstimateTemplate").Visible Then
      Sheets("EstimateTemplate").Select
      ActiveWindow.SelectedSheets.Visible = False
      Sheets("Navigation").Select
   Else
      Sheets("EstimateTemplate").Visible = True
      Sheets("Navigation").Select
   End If
End if
cmks
источник