Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 151
Default VLookup using VB

Hi all

Was hoping someone could correct my seemingly non-working attempt at the
subject matter.

Dim sMain As Worksheet, sExtra As Worksheet
Dim myDMrng As Range, myDErng As Range
Dim c As Range
Dim Col As Integer

Set sMain = Sheets("Main")
Set sExtra = Sheets("Extra")

Set myDMrng = sMain.Range("$K$2:$K$250")
Set myDErng = sExtra.Range("$A$2:$B$50")
Col = 2

For Each c In myDMrng
If c.Offset(0, -1) < "" Then
With c
.Value = WorksheetFunction.VLookup(c.Offset(0,
-1).Value, myDErng, Col, 0)
End With
End If
Next c

I was inserting RC.formula with the Vlookup, then doing a copy/paste
throughout the balance of the range but it takes way too long hence why
I am trying something different to speed things up.

TIA
Mick.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,872
Default VLookup using VB

Hi Mick,

Am Wed, 10 Oct 2012 20:53:00 +1100 schrieb Living the Dream:

For Each c In myDMrng
If c.Offset(0, -1) < "" Then
With c
.Value = WorksheetFunction.VLookup(c.Offset(0,
-1).Value, myDErng, Col, 0)
End With
End If
Next c


try:
For Each c In myDMrng
With c
If WorksheetFunction.CountIf(myDErng, .Offset(0, -1)) 0 Then
.Value = WorksheetFunction.VLookup(.Offset(0, -1).Value, _
myDErng, Col, 0)
End If
End With
Next c


Regards
Claus Busch
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 151
Default VLookup using VB


try:
For Each c In myDMrng
With c
If WorksheetFunction.CountIf(myDErng, .Offset(0, -1)) 0 Then
.Value = WorksheetFunction.VLookup(.Offset(0, -1).Value, _
myDErng, Col, 0)
End If
End With
Next c


Regards
Claus Busch

Hi Claus

Thank you for that, alas it did not work as it halted.

Probably need to clarify it more.

The offset cell is a text value and not numeric.

An interesting anomaly is that it is not reading the values from the
offset(0, -1) cell, rather it is reading offset(0, -5) and I have no
idea why.

I even tried switching myDMrng around.

Set myDMrng = sMain.Range("$J$2:$J$250")
Set myDErng = sExtra.Range("$A$2:$B$50")
Col = 2

For Each c In myDMrng
If Not c = "" Then
With c
.offset(0, 1).Value = WorksheetFunction.VLookup(c, myDErng, Col, 0)
End With
End If
Next c

But that didn't work either, so it's back to inserting the formulas,
unless you have another idea.

Appreciate your time.

Mick.
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,872
Default VLookup using VB

Hi Mick,

Am Thu, 11 Oct 2012 21:31:51 +1100 schrieb Living the Dream:

An interesting anomaly is that it is not reading the values from the
offset(0, -1) cell, rather it is reading offset(0, -5) and I have no
idea why.

I even tried switching myDMrng around.

Set myDMrng = sMain.Range("$J$2:$J$250")
Set myDErng = sExtra.Range("$A$2:$B$50")
Col = 2

For Each c In myDMrng
If Not c = "" Then
With c
.offset(0, 1).Value = WorksheetFunction.VLookup(c, myDErng, Col, 0)
End With
End If
Next c

But that didn't work either, so it's back to inserting the formulas,
unless you have another idea.


if the value you search for isn't available you get #N/A with formula.
With code you get an error and the makro stops. Therefore I looked with
countif that the value exists. I tried my code with text in column J and
it worked.


Regards
Claus Busch
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 151
Default VLookup using VB

On 11/10/2012 9:45 PM, Claus Busch wrote:
Hi Mick,

Am Thu, 11 Oct 2012 21:31:51 +1100 schrieb Living the Dream:

An interesting anomaly is that it is not reading the values from the
offset(0, -1) cell, rather it is reading offset(0, -5) and I have no
idea why.

I even tried switching myDMrng around.

Set myDMrng = sMain.Range("$J$2:$J$250")
Set myDErng = sExtra.Range("$A$2:$B$50")
Col = 2

For Each c In myDMrng
If Not c = "" Then
With c
.offset(0, 1).Value = WorksheetFunction.VLookup(c, myDErng, Col, 0)
End With
End If
Next c

But that didn't work either, so it's back to inserting the formulas,
unless you have another idea.


if the value you search for isn't available you get #N/A with formula.
With code you get an error and the makro stops. Therefore I looked with
countif that the value exists. I tried my code with text in column J and
it worked.


Regards
Claus Busch

Thanks again Claus

I will have another crack at it when I get to work in the morning.

Cheers
Mick.


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 151
Default VLookup using VB

Hi Claus

And for anyone else interested in how this issue went.

I ended up using the Find/Match approach and then offset to the next
cell which works really well, and fairly quickly also.

Thanks again for your efforts.

Mick.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
VLookUp - Does the VLookUp return the exact information? Cpviv Excel Worksheet Functions 2 October 28th 08 09:57 AM
using a vlookup to enter text into rows beneath the vlookup cell Roger on Excel Excel Programming 1 November 29th 07 12:09 PM
Combine VLOOKUP and IF function so #NA isn't returned as a value from VLOOKUP buffgirl71 Excel Discussion (Misc queries) 12 November 14th 06 11:36 PM
Vlookup -=VLOOKUP(F9,LookUp1!$A$2:$B$1504,2,FALSE) MikeR-Oz New Users to Excel 1 March 22nd 06 09:01 AM
Vlookup info being used without vlookup table attached? Excel Worksheet Functions 0 January 25th 05 10:43 AM


All times are GMT +1. The time now is 04:10 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"