Imagine-se podendo pesquisar em mais de uma planilha do MS Excel ao mesmo tempo em busca de um determinado valor. Gostaria de poder fazê-lo?
Todos conhecemos o VLOOKUP ou o HLOOKUP. Estamos cientes da sua aplicabilidade e utilidade.
O código a seguir permite usarmos PROCV para olharmos em todas as planilhas, parando assim que encontrar o valor procurado.
Function vlookallbooks _(Look_Value As Variant, Tble_Array As Range, Col_num As Integer, Range_look As Boolean, ParamArray wkbks())
Dim wSheet As Worksheet
Dim vFound
Dim searchBook As Workbook
Dim found As Boolean
On Error Resume Next
Let found = False
For Each wkbk In wkbks
Set searchBook = Workbooks(wkbk)
For Each wSheet In searchBook.Worksheets
With wSheet
Set Tble_Array = .Range(Tble_Array.Address)
Let vFound = WorksheetFunction.VLookup(Look_Value, Tble_Array, Col_num, Range_look)
End With
If Not IsEmpty(vFound) Then
Let found = True
Exit For
End If
Next wSheet
If found = True Then Exit For
Next wkbk
Set Tble_Array = Nothing
Let vlookallbooks = vFound
Modo de usar:
End Function