Of course, you can also write macros in other Excel files and then refer to the data in the files, but you still need to open the files in the background at runtime.
The last way is to use SQL data query and use your Excel file as a database. In fact, if you really need to do this, you might as well go to trouble again, transfer the data in Excel to the Access database, and then either do your own VB program or query Access through VBA, which will be quick.