I am writing a vba code to retrieve a value from a different sheet. so when i press CommandButton2, an InputBox will apppear and user need to input a set of member number, after that the code will the name of the member based on the member number. i wrote it like this code below. Right now, i'm trying to rewrite the code with vlookup function. But i cant seem to make it work, can someone help me to fix it? (I'm a newbie so if there are mistakes, im truly sorry :)) (fyi: the commandbutton2 is in sheet1(inq) , and the memberlist in sheet4(member) Range(A4:B12)
Private Sub CommandButton2_Click()
Dim memberlists As Range
Dim memberfinder As String
Dim searchCell As Range
Dim searchValue As Variant
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("member")
Set memberlists = ws.Range("A4:B12")
memberfinder = InputBox("Input your member number", "MemberFinder", "Example:100123")
On Error Resume Next
Set searchCell = memberlists.Columns(1).Find(memberfinder, LookIn:=xlValues, LookAt:=xlWhole)
On Error GoTo 0
If searchCell Is Nothing Then
MsgBox "No member found. Please register first"
Else
searchValue = searchCell.Offset(0, 1).Value
MsgBox "Member ID: " & memberfinder & vbNewLine & "Member Name: " & searchValue
End If
End Sub
vlookup:
Private Sub CommandButton2_Click()
Dim memberlist As Range
Dim memberfinder As String
Dim searchValue As Variant
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("member")
Set memberlist = ws.Range("A2:B12")
memberfinder = InputBox("Input your member number", "MemberFinder", "Example:100123")
searchValue = Application.VLookup(memberfinder, memberlist, 2, False)
If IsError(searchValue) Then
MsgBox "No member found. Please register first"
Else
MsgBox "Member ID: " & memberfinder & vbNewLine & "Member Name: " & searchValue
End If
End Sub
this is the memberlist