I personally always use Cells([rowIndex], [columnIndex]) in Excel macros. This is the most basic (and most of the time the only) function you need to interact with your data. VLookUp is good if you try to get only the value, not the postition. Using Cells() you have more power.
This is an implementation which searches for a specific string in a defined part of your sheet:
Sub searchPartNumber()
Dim ret() As Integer
'initialize the cell space to search in.
Dim fromCell(1) As Integer
Dim toCell(1) As Integer
'index 0: row
'index 1: column
'(A,2):(C,20) looks like this:
fromCell(0) = 1
fromCell(1) = 2
toCell(0) = 3
toCell(1) = 20
PartNum = InputBox("Enter the Part Number")
ret = searchTable(PartNum, fromCell, toCell)
If ret(0) = 1 Then
MsgBox ("The value searched is in Cell " & ret(1) & ", " & ret(2) & " and the value searched for is " & Cells(ret(1), 2))
Else
MsgBox "This part number could not be found."
End If
End Sub
Function searchTable(ByVal searchValue As String, ByRef fromCell() As Integer, ByRef toCell() As Integer) As Integer()
Dim ret(2) As Integer
'index 0: 1 = found, 0 = not found
'index 1/2: row and column of found element
ret(0) = 0
Dim i As Integer, j As Integer
For i = fromCell(0) To toCell(0)
For j = fromCell(1) To toCell(1)
If (CStr(Cells(i, j)) = searchValue) Then
'Item found
ret(0) = 1
ret(1) = i
ret(2) = j
searchTable = ret
Exit Function
End If
Next
Next
End Function