I want to create an external reference to a closed workbook from a text string. This question is different from "Referencing value in a closed Excel workbook using INDIRECT?" as I need to generate a text string first. The purpose is that I can write a file name in a cell and get the content from a range of cells from a certain sheet of that workbook. I added the Eval function in VBA. It works fine while the workbook is open, also with the entire file path, but it fails as soon as I close it. The same happens using the INDEX or INDIRECT function. This is only when I use a text string, using the external reference or INDEX directly it works. What am I missing?
When workbook is open:
=[Book1.xlsx]Sheet1!$A$1
works;
[Book1.xlsx]Sheet1!$A$1
together with=Eval(C3)
works;
generating a text string from two cells containing [Book1.xlsx]
Sheet1!$A$1
by =A5&B5
followed by =Eval(C5)
works as well.
When workbook is closed: ='E:\Excel\[Book1.xlsx]Sheet1'!$A$1
works but E:\Excel\[Book1.xlsx]Sheet1'!$A$1
with =Eval("'"&I3)
or =INDIRECT("'"&I3)
fails. Then I open Book1 and voila! it works again, so the file path is correct, right? Is there a specific character I am missing?