Incrustar vlookup en una function de Excel

Estoy tratando de correlacionar los datos extraídos de una gran database. No tengo control sobre la database, por lo que renombrar campos no es una opción. Tuve que separar los datos de las diferentes tablas de la database en diferentes hojas. Intento escribir una function en excel para devolver valores específicos de vlookup basados ​​en un único criterio. Los valores "itemnum" están en la columna A y los valores "binnum" están en la columna K. Necesito poder usar la function para una hoja que tiene 19,000 valores únicos para "itemnum". El problema es que no sé la syntax para usar vlookup en VBA. Aquí hay un ejemplo de lo que estoy tratando de hacer:

Function orders(itemnum, binnum) If binnum = "ibp" Then orders = IF(ISNA(VLOOKUP(AllLocations!A2,OpenIBP!A:B,1,FALSE)), 0, VLOOKUP(AllLocations!A2,OpenIBP!A:B,2,FALSE)) Else orders = =IF(ISNA(VLOOKUP(AllLocations!A2,OpenIST!A:B,1,FALSE)), 0, VLOOKUP(AllLocations!A2,OpenIST!A:B,2,FALSE)) End If End Function 

¿Alguien puede ayudarme a reescribir esto para que funcione? Estoy por encima de mi cabeza. Gracias.

Para cerrar la brecha entre la muestra de código que tenía y la respuesta que dio el usuario3423985, aquí hay una variación (suponiendo que entiendo lo que estaba tratando de hacer):

 Option Compare Text Function orders(itemnum, binnum) ' look up itemnum in either sheet OpenIBP or sheet OpenIST ' depending on the value of binnum Dim sheetName As String If binnum = "ibp" Then sheetName = "OpenIBP" Else sheetName = "OpenIST" End If Dim sh As Worksheet Set sh = ActiveWorkbook.Sheets(sheetName) ' now we can look up something in the sheet: Dim value ' Look up the value itemnum ' in column A of sheet sh ' return the corresponding value in column 2 ' return exact match only value = Application.VLookup(itemnum, sh.[A:B], 2, False) ' check for error in lookup If IsError(value) Then MsgBox "Item " & itemnum & " not found!" Else orders = value End If End Function 

Puedes usarlo así:

 V=application.vlookup("A",range("A1:B5"),2,0) If iserror(v) then Msgbox "Fail" Else Msgbox v End if 

V es una variante, estoy buscando la columna "A" y el valor de retorno en B