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


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

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"
        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.

Recommended Productivity Tools

Ribbon of Excel (with Kutools for Excel installed)

300+ Advanced Features Increase Your Productivity by 71%, and Help You To Stand Out From Crowd!

Would you like to complete your daily work quickly and perfectly? Kutools For Excel brings 300+ cool and powerful advanced features (Combine workbooks, sum by color, split cell contents, convert date, and so on...) for 1500+ work scenarios, helps you solve 82% Excel problems.

  •  Deal with all complicated tasks in seconds, help to enhance your work ability, get success from the fierce competition, and never worry about being fired.
  •  Save a lot of work time, leave much time for you to love and care the family and enjoy a comfortable life now.
  •  Reduce thousands of keyboard and mouse clicks every day, relieve your tired eyes and hands, and give you a healthy body.
  •  Become an Excel expert in 3 minutes, and get admiring glance from your colleagues or friends.
  •  No longer need to remember any painful formulas and VBA codes, have a relaxing and pleasant mind, give you a thrill you've never had before.
  •  Spend only $39, but worth than $4000 training of others. Being used by 110,000 elites and 300+ well-known companies.
  •  60-day unlimited free trial. 60-day money back guarantee. Free upgrade and support for 2 years. Buy once, use forever.
  •  Change the way you work now, and give you a better life immediately!

Office Tab Brings Efficient And Handy Tabs to Office (include Excel), Just Like Chrome, Firefox, And New IE

  • Increases your productivity by 50% when viewing and editing multiple documents.
  • Reduce hundreds of mouse clicks for you every day, say goodbye to mouse hand.
  • Open and create documents in new tabs of same window, rather than in new windows.
  • Help you work faster and easily stand out from the crowd! One second to switch between dozens of open documents!
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 · 7 months 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?


    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


    End Sub
  • To post as a guest, your comment is unpublished.
    Joe · 10 months 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 · 10 months ago
    Wow, super VBA, simple and works. Thank you very much :)
  • To post as a guest, your comment is unpublished.
    Eddie · 1 years ago
    Excellent VBA, works great. Thanks.