Workbook Exists


Function WorkbookExists(sWbName As String) As Boolean
    ‘Returns True if workbook is open
    
    Dim oWb As Workbook
    
    On Error Resume Next
        Set oWb = Workbooks(sWbName)
        WorkbookExists = Not CBool(Err.Number)
    On Error GoTo 0
End Function

2 Comments

  1. Jake Marx says:

    Dick,

    Although this is less readable, it’s faster and a bit shorter:

    Function WorkbookExists(sWbName As String) As Boolean
        On Error Resume Next
            WorkbookExists = Len(Workbooks(sWbName).Name)
        On Error GoTo 0
    End Function
    
  2. Jake Marx says:

    Or faster yet:

    Function WorkbookExists(sWbName As String) As Boolean
        On Error Resume Next
            WorkbookExists = Not Workbooks(sWbName) Is Nothing
        On Error GoTo 0
    End Function
    

Leave a Reply