Home » Excel Macro (VBA) »
Read or Update an External Excel File
To access data from an external Excel file, use any one of appropriate methods explained below.
- Using Workbook object from VBA to refer closed Excel file.
- Using Workbook object to refer opened Excel file.
- Using External reference within Worksheets.
- Using ODBC import option.
Note: If we are trying to read a Plain Text file or binary file, we can use VBA File Handling commands as in this link. How to Read contents from a Text File using VBA?
Different methods to Read Excel Data from another Excel Workbook
To understand how to extract data from another Excel file, consider there are 2 workbooks as listed.
- Source: In this workbook, VBA code will be executed to fetch or write data from/to Target file.
- Target: This workbook has the data that the Source Workbook will read or modify through VBA.
1. VBA To Update Closed Workbook
This is done with the help of VBA Macro. We will create an object to refer to external Excel file and use that object to import any data into our Active workbook or Source Workbook.
Let’s see the actual VBA code for this purpose. Copy paste the below code to VB Editor and execute the code by pressing F5. Make sure that the Target file exists in correct path as mentioned in Target_Path in the code, before executing the code.
2. How To Read or Write To Open Workbook?
If a workbook is already in opened and executing, then you can reference that Excel with its name through ‘Workbooks’ collection. You have to use the workbook name itself inside the code to read or write content as mentioned in this sample code.
3. External Reference In a Worksheet
With this technique, in the Excel we pull data from another cell by using references. For example, in Cell A1 if we need to get date from Cell B1, we enter “=B1” in cell A1. This is a reference that is made within the scope of current workbook.
In our example if we need to refer the Target sheet, use the command as below.
This will fetch the data from the external workbook.
Reference from Microsoft: How to create External reference and pull data from another excel?
4. Data Import Option or ODBC
This is similar to Data Import facility available in Excel. To do this, the Target workbook should be having some table defined in it.
To import the data from Target, Go to Source Workbook, Data->From Other Sources ->From Microsoft Query and Give the path of the Target Workbook or use the below code by modifying the File path and Column Header Details.
These are some of the methods that are available to import from an external workbook to current active workbook. But still, this is not the limit. There might be other feasible methods known to others. If there is any, please post a reference as you find.
Recommended For You
You may also like these Posts
Previous Post: Merge Multiple Files to One File – Data Integration
Next Post: Lock System at Scheduled Time with Excel