ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Vlookup across workbooks (https://www.excelbanter.com/excel-programming/405924-vlookup-across-workbooks.html)

tiptoe

Vlookup across workbooks
 
I'm using the following code to retrieve values from a second workbook
- the data is sorted in the second workbook. I've run the macro using
F8 and after a few successful retrievals within the loop, when a
target is not found in the second workbook the run time error 1004 is
reported.

Sheets("Hidden").Select
Range("j1").Select
For n = 1 To NumRows - 1
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula =
Application.WorksheetFunction.VLookup(Range("i" & n + 1), _
Workbooks(mshare).Sheets("Sheet1").Range("$A:$Z"), 7,
False)
Next n

If I omit the false condition the macro runs through but on
examination, where no match has been found, a result is taken from
another row.

I'd like to return a "Not in second workbook" where a match is not
found. Is this possible?

I'd appreciate any assistance,

Bob Golightly
Nottingham, UK

Dave Peterson

Vlookup across workbooks
 
That's the way application.worksheetfunction.vlookup() works.

But application.vlookup() will return an error:

Sheets("Hidden").Select
Range("j1").Select
For n = 1 To NumRows - 1
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Application.VLookup(Range("i" & n + 1), _
Workbooks(mshare).Sheets("Sheet1").Range("$A:$Z"), 7, False)
Next n

I changed your .formula to .value.

Did you want to plop a formula into that cell or just the results?

tiptoe wrote:

I'm using the following code to retrieve values from a second workbook
- the data is sorted in the second workbook. I've run the macro using
F8 and after a few successful retrievals within the loop, when a
target is not found in the second workbook the run time error 1004 is
reported.

Sheets("Hidden").Select
Range("j1").Select
For n = 1 To NumRows - 1
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula =
Application.WorksheetFunction.VLookup(Range("i" & n + 1), _
Workbooks(mshare).Sheets("Sheet1").Range("$A:$Z"), 7,
False)
Next n

If I omit the false condition the macro runs through but on
examination, where no match has been found, a result is taken from
another row.

I'd like to return a "Not in second workbook" where a match is not
found. Is this possible?

I'd appreciate any assistance,

Bob Golightly
Nottingham, UK


--

Dave Peterson

tiptoe

Vlookup across workbooks
 
On Feb 11, 7:41 pm, Dave Peterson wrote:
That's the way application.worksheetfunction.vlookup() works.

But application.vlookup() will return an error:

Sheets("Hidden").Select
Range("j1").Select
For n = 1 To NumRows - 1
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Application.VLookup(Range("i" & n + 1), _
Workbooks(mshare).Sheets("Sheet1").Range("$A:$Z"), 7, False)
Next n

I changed your .formula to .value.

Did you want to plop a formula into that cell or just the results?



tiptoe wrote:

I'm using the following code to retrieve values from a second workbook
- the data is sorted in the second workbook. I've run the macro using
F8 and after a few successful retrievals within the loop, when a
target is not found in the second workbook the run time error 1004 is
reported.


Sheets("Hidden").Select
Range("j1").Select
For n = 1 To NumRows - 1
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula =
Application.WorksheetFunction.VLookup(Range("i" & n + 1), _
Workbooks(mshare).Sheets("Sheet1").Range("$A:$Z"), 7,
False)
Next n


If I omit the false condition the macro runs through but on
examination, where no match has been found, a result is taken from
another row.


I'd like to return a "Not in second workbook" where a match is not
found. Is this possible?


I'd appreciate any assistance,


Bob Golightly
Nottingham, UK


--

Dave Peterson


Dave,

Many thanks, it now runs returning #N/A in the cells without a match.
Can I be cheeky and ask you to suggest how I may replace the #N/A with
preferred test, e.g Not found ?

Bob






All times are GMT +1. The time now is 11:49 PM.

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