Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to quickly check if a file (workbook) is open or closed in Excel?

Excel daily work, you open multiple workbooks at the same time for working, but sometimes, the hundreds of workbooks may mess your head to remember if a specific workbook is open or closed. Give up the traditional method on checking files one by one, here I introduce you the tricks to quickly find a workbook is open or closed.

Check if a workbook is open or closed with VBA

Check if a workbook is open or closed with Kutools for Excel good idea3


Navigation Pane -- Workbook & Sheet (view all open workbooks are list, and all sheets
of the current workbook are list in the pane, you can click the sheet name to switch to it.)

doc navigation list sheet
Office Tab Enable Tabbed Editing and Browsing in Office, and Make Your Work Much Easier...
Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%
  • Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
  • More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
  • Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
  • Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
  • Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
  • Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
  • More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.

Check if a workbook is open or closed with VBA


Here is a VBA code you can run to check if a specific workbook is open or closed.

1. Press Alt + F11 keys to open Microsoft Visual Basic for Applications window.

2. Click Insert > Module and then copy and paste the VBA to the new Module window.

VBA: Check if a workbook open or closed

Function IsWorkBookOpen(Name As String) As Boolean
    Dim xWb As Workbook
    On Error Resume Next
    Set xWb = Application.Workbooks.Item(Name)
    IsWorkBookOpen = (Not xWb Is Nothing)
End Function

Sub Sample()
    Dim xRet As Boolean
    xRet = IsWorkBookOpen("combine.xlsx")
    If xRet Then
        MsgBox "The file is open", vbInformation, "Kutools for Excel"
    Else
        MsgBox "The file is not open", vbInformation, "Kutools for Excel"
    End If
End Sub

3. And press F5 key to run this vba, and a dialog pops out to remind you the specific workbook is open or not.
doc check if a file open 1     doc check if a file open 2

Tip: In the above VBA, “combine” is the workbook name you want to check, you can it as you need.


Check if a workbook is open or closed with Kutools for Excel

If you are no familiar with VBA, you can check if a workbook is open by Kutools for Excel, with its’s Navigation pane, which will help you can clearly view all open workbooks in the workbook list of the pane.

Kutools for Excel, with more than 120 handy Excel functions, enhance your working efficiency and save your working time.

After free installing Kutools for Excel, please do as below:

1. Click Kutools > Navigation to enable the Navigation pane. See screenshot:
doc check if a file open 3

2. Then click Workbook & Sheet button to expand the pane to go to Workbook & Sheet section. And you can view all open workbooks in the upper list. See screenshot:
doc check if a file open 4

With Navigation pane, you also can quickly switch between the workbooks or sheets in the list.

Click here to know more about Navigation.


Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    matheus · 1 years ago
    I add this to my code but im having some issues...

    I use ur function to check if a workbook with i take some information from is already open or not, if it is open, the macro msgbox the user, telling him to close the workbook and restart the macro, till here, everything ok, the problem is, after closing the workbook and restarting the macro, it keeps saying the workbook is open while its not, any tips?


    Code:


    Sub Check_BKG()

    Set wa = Nothing

    Confirmação = MsgBox("Deseja realizar a checagem de dados?", vbYesNo + vbExclamation, "Aviso Macro")
    If Confirmação = vbNo Then Exit Sub

    '--------------------------------------------------------------------------------------------'
    '////////////////////////////CHECANDO SE EXSH JÁ ESTA ABERTO\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
    '--------------------------------------------------------------------------------------------'
    Dim xRet As Boolean
    xRet = IsWorkBookOpen("EXSH0101.xlsx")
    If xRet Then
    MsgBox "O arquivo EXSH0101 já está aberto, por favor, feche o arquivo antes de executar a macro novamente.", vbInformation, "ERRO EXSH0101"
    'MsgBox "The EXSH0101 file is already open, please close it before restart the macro.", vbInformation, "EXSH0101 ERROR"
    Exit Sub
    End If
    '--------------------------------------------------------------------------------------------'
    '////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
    '--------------------------------------------------------------------------------------------'

    With Application
    .EnableEvents = False
    .ScreenUpdating = False
    End With

    Call Abrir_Arquivos

    Call Setando_EXSH

    Call Inserir_Formulas

    With Application
    .EnableEvents = True
    .ScreenUpdating = True
    End With

    wb.Sheets("Inserir").Activate

    End Sub
  • To post as a guest, your comment is unpublished.
    Joe · 1 years ago
    Just want to make sure everyone is aware, the "IsWorkBookOpen" function will only be able to tell if a workbook is open in the current instance of Excel. If you have multiple instances open you would need to run it on each instance to be sure the workbook is (not) open, using this code alone.
  • To post as a guest, your comment is unpublished.
    Dawid · 1 years ago
    Wow, super VBA, simple and works. Thank you very much :)
  • To post as a guest, your comment is unpublished.
    Eddie · 2 years ago
    Excellent VBA, works great. Thanks.