Solved

Excel VBA Vlookup function

Posted on 2013-11-18
9
550 Views
Last Modified: 2013-11-19
I am trying to find a value in a spreadsheet table. I am wondering if Vlookup may be the correct function to use. I get a value such as "GQ-000" from a worksheet called "DRA Summary" and would like to find that value in another worksheet called "Data" within the same workbook.
Do you think this may be the best way to do this?
Any suggestions and examples of how Vlookup works would be greatly appreciated.
Thanks in advance.
0
Comment
Question by:tesla764
  • 4
  • 4
9 Comments
 
LVL 6

Expert Comment

by:Michael
ID: 39656341
If it is 'the best way' to do it, depends on what it is exactly you are trying to accomplish. Vlookup looks for a value in the leftmost column in the specified range and returns the value in the same row from the column you specify. It returns a #N/A if the value is not found.

A simple way if you just want to check a value exists in the other worksheet, is:
=CountIf("Data" range,lookup value)

Open in new window


Joop
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 39656355
If
your value is in A1 of DRA Summary and
your data list is in column A of data

then
This function will give you the row number in the data sheet

=match('DRA Summary'!A1,data!A:A,0)
0
 

Author Comment

by:tesla764
ID: 39656539
Here is what I am trying to accomplish...

Look at Module "Get_SQnumber2"
The variable "s" contains the value to be looked up in the sheet "Data".
Once that value is found I want to move the value in column "E" (Data) sheet to Row 2 column "F" (DRA Summary) sheet.

The code module is below and I also attached the work book "Data.xlsm"

Sub Get_SQnumber2()
    Dim rng As Range, cell As Range
    Dim lc As Integer
    Dim s As String, sInput As String
   
    lc = Cells(3, Columns.Count).End(xlToLeft).Column
    Set rng = Range(Cells(3, 1), Cells(3, lc))
   
    For Each cell In rng
        If cell.Value Like "SQ-*" Then
            'MsgBox cell.Value
            'The variable s has the value to be looked up.
            s = Left(cell.Value, InStr(1, cell.Value & " ", " ") - 1)
            MsgBox "s: " & s
        End If
    Next
Data.xlsm
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
LVL 6

Expert Comment

by:Michael
ID: 39657187
Maybe like this:
Sub Get_SQnumber2()
    Dim rng As Range, cell As Range
    Dim lc As Integer
    Dim s As String, sInput As String
    
    lc = Cells(3, Columns.Count).End(xlToLeft).Column
    Set rng = Range(Cells(3, 1), Cells(3, lc))
    
    'Set lookup range
    Set LkupRng = Sheets("Data").Range("A1").CurrentRegion
    
    For Each cell In rng
        If cell.Value Like "SQ-*" Then
            MsgBox cell.Value
            s = Left(cell.Value, InStr(1, cell.Value & " ", " ") - 1)
            MsgBox "s: " & s

            On Error Resume Next
            v = WorksheetFunction.VLookup(s, LkupRng, 5, 0)
            Sheets("DRA Summary").Range("F2") = v
            End
        End If
    Next
End Sub

Open in new window

If it finds the SQ-*** value in column A of the 'Data' worksheet it returns the value in column E of the same row to cell F2 of the 'DRA Summary' worksheet, and then ends the procedure.

Joop
0
 

Author Comment

by:tesla764
ID: 39658703
I've requested that this question be closed as follows:

Accepted answer: 0 points for tesla764's comment #a39656539

for the following reason:

Thanks, this gives me something I can work with. I still need to make a few more mods, but you have been very helpful. This is the first time I have used Vlookup.
Thanks again.
0
 
LVL 6

Accepted Solution

by:
Michael earned 500 total points
ID: 39658704
0
 

Author Closing Comment

by:tesla764
ID: 39660120
No 500points are deserved. I don't know why 0 showed up. Sorry about that.
0
 

Author Comment

by:tesla764
ID: 39660196
JazzyJoop did you get the 500 points I assigned to you?
0
 
LVL 6

Expert Comment

by:Michael
ID: 39660235
Yes sir, thank you! :)
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Excel formula to show $0.00 if negative number. 7 53
Web Query 1 20
Adding Additional Criteria to a formula 17 46
Highlight changing numbers in column 3 18
As with any other System Center product, the installation for the Authoring Tool can be quite a pain sometimes. This article serves to help you avoid making these mistakes and hopefully save you a ton of time on troubleshooting :)  Step 1: Make sur…
Some code to ensure data integrity when using macros within Excel. Also included code that helps secure your data within an Excel workbook.
This Micro Tutorial demonstrate the bugs in Microsoft Excel for Mac with Pivot Charts.
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.

839 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