Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

VLOOKUP and folder name from another cell

Posted on 2014-04-15
7
Medium Priority
?
1,344 Views
Last Modified: 2014-04-18
Hi,

I have this formula:

VLOOKUP(A1,'C:\[file.xlsx]ExportWorksheet'!$A$1:$B$65536,2,FALSE)

Open in new window

I want other users to download the file.xlsx and have it in whatever folder they want. Using VBA I can get a current folder and put it in another cell like this:

Private Sub Workbook_Open()

Dim path As String
path = Application.ActiveWorkbook.path
Worksheets("AnotherSheet").Range("A1") = path & "\"

End Sub

Open in new window

Then I wanted to do something like this:

VLOOKUP(A1, AnotherSheet!$A$1&'[file.xlsx]ExportWorksheet'!$A$1:$B$65536,2,FALSE)

Open in new window

It doesn't work no matter where I put or omit those ' .

Is there a way to do it? If not using a formula then maybe through VBA? I don't know how to search a worksheet and replace part of a string in all cells that are affected.

Thanks!
0
Comment
Question by:Carbonecz
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 40003377
Try

Private Sub Workbook_Open()
    Dim wb As Workbook
    Dim path As String
    For Each wb In Application.Workbooks
        If LCase(wb.Name) = "file.xlsx" Then
            path = wb.path
            Exit For
        End If
    Next wb
    Worksheets("AnotherSheet").Range("A1") = path & "\"
End Sub
0
 
LVL 33

Expert Comment

by:Rob Henson
ID: 40003396
With a formula you need to use the INDIRECT function to create the file path and name string. However, INDIRECT does not work when the source file is closed.

Thanks
Rob H
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 40003409
does not work when the source file is closed.
Same applies to my comment. I assume that the file is open which is why you used

path = Application.ActiveWorkbook.path
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Carbonecz
ID: 40003415
The file isn't opened. I need to put its full path there. It works without the file being opened when it's like this:

'C:\[file.xlsx]ExportWorksheet'!$A$1:$B$65536

Open in new window


I need to replace C:\ with the path I get from my script and then probably recalculate all affected cells?
0
 
LVL 33

Accepted Solution

by:
Rob Henson earned 2000 total points
ID: 40003674
How about doing a Find and Replace?

Have your formula setup with a spurious filename (eg TempFile.xlsx) then you can do a Find on "C:\Path\TempFile.xlsx" and Replace with File Name generated/found in existing routine.

Do a Find and Replace manually and use the VB Recorder to get the syntax. When recorded, the script will show "Find:=Text" and "Replace:=Text", the two blocks of Text can be replaced with a Variable generated within the script.

Thanks
Rob H
0
 
LVL 23

Expert Comment

by:Ejgil Hedegaard
ID: 40005098
Perhaps you are making it too complicated.
The open file is the file with the formulas, linking to file.xlsx.
In that file you search for the path, and that must mean you expect file.xlsx to be in the same folder as the file with the formulas linking to file.xlsx.

If the 2 files are saved in the same folder when created, and both are copied to another folder, then when opening the file with the formulas, the links will point to the folder the file is in now, and not to where it was.

So if both files are in the same folder, you don't have to search and replace anything.
0
 

Author Comment

by:Carbonecz
ID: 40008330
Thanks! Should've thought about that. I recorded FIND and REPLACE macro and edited it to do what I needed.
0

Featured Post

Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes a serious pitfall that can happen when deleting shapes using VBA.
This article helps those who get the 0xc004d307 error when trying to rearm (reset the license) Office 2013 in a Virtual Desktop Infrastructure (VDI) and/or those trying to prep the master image for Microsoft Key Management (KMS) activation. (i.e.- C…
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question