How to Open Excel Files Using VBA (Examples)

With VBA in Excel, you can easily open one or more Excel files by specifying their location.

This is made possible by the Workbooks.Open method, which takes the file location as the argument and opens that Excel file.

You can do a lot more with the Workbooks.Open method, such as opening all the files in a given folder, opening files as read-only, opening files and then saving them with a different name, etc.

In this tutorial, I will show you how to use VBA to open Excel files and all the amazing things you can do with it.

Workbooks.Open Method

In Excel VBA, you can use Workbooks.Open method to open an Excel file, where you need to specify the file path of the Excel workbook that you want to open.

Below is the syntax of the Workbooks.Open method

expression.Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

While the Workbooks.Open method can use 15 arguments, in most cases, we only need to use two or three of them.

I will show you examples that will make it clearer how to use these arguments.

Open Workbook By Specifying the File Path

Let’s first look at how to open an Excel file where you know the entire file path.

Below is the VBA code that would open an Excel file named Example.xlsx in the folder called Project on my system:

Sub OpenWorkbook()
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example.xlsx")
End Sub

Note that the part of the Excel file needs to be in double quotes, and you need to specify the entire file path including the name of the file and the extension.

In case Excel is not able to find the file at the location that you specified, it will show you an error as shown below.

Error When File is not found

Open Multiple Excel Files Together

If you want to open multiple Excel files using one single subroutine, you can do that as well (by using multiple Workbooks.Open methods with the file paths)

Below I have a VBA code that would open three Excel files, where I need to specify the path for each file in separate Workbooks.Open method.

Sub OpenMulitpleWorkbook()
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example1.xlsx")
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example2.xlsx")
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example3.xlsx")
End Sub

Open All Excel Workbooks in a Folder

If you have multiple Excel files in a folder, and you want to open all the files in that folder in one go, you can do that easily using the Workbooks.Open method along with the simple Do While loop.

Below I have code where I have specified the folder path, and when this code is executed, it goes through each Excel file in the folder and opens it.

Sub OpenFilesFromFolder()
    Dim wb As Workbook
    Dim FolderPath As String
    Dim FilePath As String
        FolderPath = "C:\Users\sumit\OneDrive\Desktop\Project\"
        FilePath = Dir(FolderPath & "*.xls*")
        Do While FilePath <> ""
            Set wb = Workbooks.Open(FolderPath & FilePath)
            FilePath = Dir
        Loop
End Sub

Open Excel Files Based on the Name

If you only want to open specific Excel files in a folder based on its name, you can modify the above VBA code to do that.

Below I have a VBA code where it would open only those Excel files in the specified folders that have the word “Sales” in the name of the Excel file.

Sub OpenFilesFromFolder()
    Dim wb As Workbook
    Dim FolderPath As String
    Dim FilePath As String
        FolderPath = "C:\Users\sumit\OneDrive\Desktop\Project\"
        FilePath = Dir(FolderPath & "*Sales*" & ".xls*")
        Do While FilePath <> ""
            Set wb = Workbooks.Open(FolderPath & FilePath)
            FilePath = Dir
        Loop
End Sub

In the above code, I have used Dir(FolderPath & “*Sales*” & “.xls*”) as the FilePath, where the word Sales is wrapped in asterisks (*).

This ensures that only the files with the word ‘Sales’ in the name would get opened, and the rest would be ignored.

Also read: VBA Copy Sheet to New/Existing Workbook

Opening a Password Protected Excel Workbook

You can also open password-protected workbooks by specifying the password in the VBA code.

Below I have a VBA code that would open a password-protected Excel file, where the password is Excel123

Sub OpenExcelFile()
Workbooks.Open "C:\Users\sumit\OneDrive\Desktop\Project\Example.xlsx", , , Password:="Excel123"
End Sub

Open Excel File By Showing the Open Dialog Box

In the examples covered so far, I have specified the file name or the path of the files that need to be opened in the VBA code itself.

However, you can use VBA to open the Open File dialog box, where the user can navigate to the file and select it to open it.

Below is the VBA code that would show the Open dialog box, where the user can select the file and open it.

Sub OpenFileDialogBox()
On Error Resume Next
    Dim FilePath As String
    FilePath = Application.GetOpenFilename()
    Workbooks.Open (FilePath)
End Sub
Open File Dialog Box using VBA Excel

I have used On Error Resume Next in case the user decides to close the Open dialog box without selecting any file. If this statement is not used, it will show an error.

In this short tutorial, I showed you a couple of different ways you can use to open workbooks using VBA in Excel.

While you may not use these codes to simply open an Excel file, the concept could be quite useful when working on bigger VBA projects where you need to open Excel files as part of the code

Other Excel tutorials you may also like:

Excel Ebook Subscribe

FREE EXCEL BOOK

Get 51 Excel Tips Ebook to skyrocket your productivity and get work done faster

Sumit Bansal
Hello there! I'm Sumit Bansal, founder of trumpexcel.com and an Excel MVP. I started this website in 2013 with a simple goal: to share my love for Excel through easy to follow tips, tutorials and videos. I'm here to help you get the best out of MS Excel to save time and boost your productivity.

Leave a Comment

Free-Excel-Tips-EBook-Sumit-Bansal-1.png

FREE EXCEL E-BOOK

Get 51 Excel Tips Ebook to skyrocket your productivity and get work done faster

Free-Excel-Tips-EBook-Sumit-Bansal-1.png

FREE EXCEL E-BOOK

Get 51 Excel Tips Ebook to skyrocket your productivity and get work done faster

Free Excel Tips EBook Sumit Bansal

FREE EXCEL E-BOOK

Get 51 Excel Tips Ebook to skyrocket your productivity and get work done faster