Buscar una referencia en diferentes hojas
Publicado por JoseVA (1 intervención) el 05/02/2010 09:39:25
Buenos días, dispongo de una hoja en la cual tengo la hoja principal, llamada presupuesto y cinco mas, cada una de las cuales es un proveedor. Necesitaria, si alguien me puede echar un cable, que cuando introduzco la referencia en la primera columna, que me busque tal referencia en las cinco hojas de proveedores y me devuelva en la segunda columna la descripción del producto. He probado el siguiente UDF:
Function VLOOKAllSheets(Look_Value As Variant, Tble_Array As Range, _
Col_num As Integer, Optional Range_look As Boolean)
''''''''''''''''''''''''''''''''''''''''''''''''
'Written by OzGrid.com
'''''''''''''''''''''''''''''''''''''''''''''''''
Dim wSheet As Worksheet
Dim vFound
On Error Resume Next
For Each wSheet In ActiveWorkbook.Worksheets
With wSheet
Set Tble_Array = .Range(Tble_Array.Address)
vFound = WorksheetFunction.VLookup _
(Look_Value, Tble_Array, _
Col_num, Range_look)
End With
If Not IsEmpty(vFound) Then Exit For
Next wSheet
Set Tble_Array = Nothing
VLOOKAllSheets = vFound
End Function
No me funciona bien por el siguiente motivo: cuando introduzco la primera referencia me la encuentra bien, pero cuando introduzco la segunda me busca la referencia en la misma hoja de "Presupuesto" y me da valores erróneos. Hace días que me rompo la cabeza y nada........ A ver si alguien me puede ayudar con el tema que me va a volver locooooo!!! Gracias de antemano!!
Function VLOOKAllSheets(Look_Value As Variant, Tble_Array As Range, _
Col_num As Integer, Optional Range_look As Boolean)
''''''''''''''''''''''''''''''''''''''''''''''''
'Written by OzGrid.com
'''''''''''''''''''''''''''''''''''''''''''''''''
Dim wSheet As Worksheet
Dim vFound
On Error Resume Next
For Each wSheet In ActiveWorkbook.Worksheets
With wSheet
Set Tble_Array = .Range(Tble_Array.Address)
vFound = WorksheetFunction.VLookup _
(Look_Value, Tble_Array, _
Col_num, Range_look)
End With
If Not IsEmpty(vFound) Then Exit For
Next wSheet
Set Tble_Array = Nothing
VLOOKAllSheets = vFound
End Function
No me funciona bien por el siguiente motivo: cuando introduzco la primera referencia me la encuentra bien, pero cuando introduzco la segunda me busca la referencia en la misma hoja de "Presupuesto" y me da valores erróneos. Hace días que me rompo la cabeza y nada........ A ver si alguien me puede ayudar con el tema que me va a volver locooooo!!! Gracias de antemano!!
Valora esta pregunta
0