ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro to change file name in Vlookup formula (https://www.excelbanter.com/excel-programming/376381-macro-change-file-name-vlookup-formula.html)

msdrolf

Macro to change file name in Vlookup formula
 
I have a vlookup formula in column B:
=VLOOKUP($A$10,[DATA2.xls]Sheet1!$A$1:$B$7,2,FALSE)
I have copied this 200 times to sequential rows in column B to pull data
from 200 other spreadsheets.
Is it possible to have a macro which would replace the file name DATA2.xls
with the file name listed in column A of the same row and continue to do so
until it reaches the end of the column.
Thanks

John Coleman

Macro to change file name in Vlookup formula
 
Maybe you don't need a macro. Say that the file names begin in row 1 of
column A. Then in B1 enter:

=VLOOKUP($A$10,INDIRECT(CONCATENATE("[",A1,"]Sheet1!$A$1:$B$7")),2,FALSE)

And copy it down 200 times.

HTH

-John Coleman

msdrolf wrote:
I have a vlookup formula in column B:
=VLOOKUP($A$10,[DATA2.xls]Sheet1!$A$1:$B$7,2,FALSE)
I have copied this 200 times to sequential rows in column B to pull data
from 200 other spreadsheets.
Is it possible to have a macro which would replace the file name DATA2.xls
with the file name listed in column A of the same row and continue to do so
until it reaches the end of the column.
Thanks



Allllen

Macro to change file name in Vlookup formula
 
try this.

Sub trythis()
i = 1
Do Until IsEmpty(Cells(i, 2))
Cells(i, 2).Formula = Replace(Cells(i, 2).Formula, "DATA2.xls", Cells(i,
1).Value)
i = i + 1
Loop
End Sub
--
Allllen


"msdrolf" wrote:

I have a vlookup formula in column B:
=VLOOKUP($A$10,[DATA2.xls]Sheet1!$A$1:$B$7,2,FALSE)
I have copied this 200 times to sequential rows in column B to pull data
from 200 other spreadsheets.
Is it possible to have a macro which would replace the file name DATA2.xls
with the file name listed in column A of the same row and continue to do so
until it reaches the end of the column.
Thanks


Allllen

Macro to change file name in Vlookup formula
 
neat answer
--
Allllen


"John Coleman" wrote:

Maybe you don't need a macro. Say that the file names begin in row 1 of
column A. Then in B1 enter:

=VLOOKUP($A$10,INDIRECT(CONCATENATE("[",A1,"]Sheet1!$A$1:$B$7")),2,FALSE)

And copy it down 200 times.

HTH

-John Coleman

msdrolf wrote:
I have a vlookup formula in column B:
=VLOOKUP($A$10,[DATA2.xls]Sheet1!$A$1:$B$7,2,FALSE)
I have copied this 200 times to sequential rows in column B to pull data
from 200 other spreadsheets.
Is it possible to have a macro which would replace the file name DATA2.xls
with the file name listed in column A of the same row and continue to do so
until it reaches the end of the column.
Thanks




msdrolf

Macro to change file name in Vlookup formula
 
Thanks for your suggestion. Unfortunatley it has only limited application.
You need to keep all the source workbooks open. The INDIRECT connection is
broken when you close the source files. The VLOOKUP link remains even after
the files are closed. That is why I was hoping there was an easy way to
change the file name in the VLOOKUP formula. Thanks for trying.

"John Coleman" wrote:

Maybe you don't need a macro. Say that the file names begin in row 1 of
column A. Then in B1 enter:

=VLOOKUP($A$10,INDIRECT(CONCATENATE("[",A1,"]Sheet1!$A$1:$B$7")),2,FALSE)

And copy it down 200 times.

HTH

-John Coleman

msdrolf wrote:
I have a vlookup formula in column B:
=VLOOKUP($A$10,[DATA2.xls]Sheet1!$A$1:$B$7,2,FALSE)
I have copied this 200 times to sequential rows in column B to pull data
from 200 other spreadsheets.
Is it possible to have a macro which would replace the file name DATA2.xls
with the file name listed in column A of the same row and continue to do so
until it reaches the end of the column.
Thanks




John Coleman

Macro to change file name in Vlookup formula
 
Alllen's VBA approach should work with little problem in that case. I
find it disappointing that
Excel's worksheet reference functions are too weak to handle this
directly. I was hoping that some work around was possible.

-John Coleman

msdrolf wrote:
Thanks for your suggestion. Unfortunatley it has only limited application.
You need to keep all the source workbooks open. The INDIRECT connection is
broken when you close the source files. The VLOOKUP link remains even after
the files are closed. That is why I was hoping there was an easy way to
change the file name in the VLOOKUP formula. Thanks for trying.

"John Coleman" wrote:

Maybe you don't need a macro. Say that the file names begin in row 1 of
column A. Then in B1 enter:

=VLOOKUP($A$10,INDIRECT(CONCATENATE("[",A1,"]Sheet1!$A$1:$B$7")),2,FALSE)

And copy it down 200 times.

HTH

-John Coleman

msdrolf wrote:
I have a vlookup formula in column B:
=VLOOKUP($A$10,[DATA2.xls]Sheet1!$A$1:$B$7,2,FALSE)
I have copied this 200 times to sequential rows in column B to pull data
from 200 other spreadsheets.
Is it possible to have a macro which would replace the file name DATA2.xls
with the file name listed in column A of the same row and continue to do so
until it reaches the end of the column.
Thanks






All times are GMT +1. The time now is 12:02 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com