Solved

Excel macro to lookup 'exact' value and copy corresponding field

Posted on 2011-02-14
2
616 Views
Last Modified: 2012-05-11
Hi Experts,

I got this excellent macro from MSmax:

Private Sub lookup()

Dim wb As Workbook
Dim sh1 As Worksheet, sh2 As Worksheet
Dim lr1 As Long, lr2 As Long
Dim i As Long, j As Long
Dim count As Long

Set wb = ThisWorkbook
'Change Sheetnames if needed
Set sh1 = wb.Worksheets("Sheet1")
Set sh2 = wb.Worksheets("Sheet2")

lr1 = sh1.Range("A" & Rows.count).End(xlUp).Row
lr2 = sh2.Range("A" & Rows.count).End(xlUp).Row

For i = 2 To lr2
    count = 0
    For j = 1 To lr1
        If InStr(1, sh1.Cells(j, 3).Value, sh2.Cells(i, 1).Value, vbBinaryCompare) > 0 Then
            count = count + 1
            sh2.Cells(i, 4 + count).Value = sh1.Cells(j, 1).Value
        End If
    Next j
Next i

End Sub
 

For each value found in sheet2 column A, it checks if string is found in sheet1 column C, if found copies corresponding value of sheet1 column A back to sheet2.

The problem here is that the compare does not check the "exact" string,
so if
AAA-BBB-CCC is the value iin sheet 2 column A to be searched for in sheet 1,  
what is returned is the corresponding values of:
AAA-BBB-CCC and
AAA-BBB-CCC-DDD and
AAA-BBB-CCC-DDD-EEE etc

Whereas only corresponding value of exactely 'AAA-BBB-CCC' is needed.

Do you see a way of changing this? Maybe this makes 'vbBinaryCmpare' not suitable for this?

Thank you for helping.

W.
 
0
Comment
Question by:Watnog
2 Comments
 
LVL 85

Accepted Solution

by:
Rory Archibald earned 500 total points
ID: 34886935
Change the Instr line to:
           If sh1.Cells(j, 3).Value = sh2.Cells(i, 1).Value Then

Open in new window

and it should require an exact full match.
0
 

Author Closing Comment

by:Watnog
ID: 34887020
Thank you Rorya.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Office 2016 Excel Issue 4 26
ms office troubleshooting for users 8 36
What is format f12.8 for a CSV file 6 41
Dynamic Filter ? 4 21
Approximate matching with VLOOKUP and MATCH seems to me to be a greatly under-used technique, and one which is vital for getting good performance out of large lookups. Until recently I would always have advised using an exact match for simplicity an…
Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
This Micro Tutorial will demonstrate on a Mac how to change the sort order for chart legend values and decrpyt the intimidating chart menu.
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.

896 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now