Function BUSCARFC(valor As String, Matriz As Range, columna As
Integer, _
Optional Range_look As Boolean)
Dim Ordenado As String
Ordenado = "False": If Range_look = True Then Ordenado = "True"
BUSCARFC = Evaluate("VLOOKUP( LEFT(""" & valor & """ , 8), LEFT(" & _
Matriz.Address(External:=True) & ", 8), " & _
columna & ", " & Ordenado & ") ")
End Function
__________________
no requiere que insertes columna adicional alguna.
¿Te sirve la idea?
Saludos, Cacho.
On 29 mar, 19:03, papasfritas <papasfri...@domain-xyz.in> wrote:
> Hola !
>
> Que tal mi consulta es, tengo 2 hojas con datos que tienen en com n una
> columna, en ella la longitud es de 13 caracteres de estos solo los primeros 10
> coinciden en ambas hojas, la b squeda la uso as en hoja1,
> =buscarv(izquierda(a2,10),datos,2,falso), el detalle es que en la hoja2 donde
> estan los datos, tengo que a adir una columna y extraer los primeros 10
> caracteres para hacer la b squeda, esto lo hago con frecuencia y quiero
> hacer una funci n personalizada, que quedo as :
> Function BUSCARFC(valor As String, Matriz As Range, _
> columna As Integer, Optional Range_look As Boolean)
>
> Dim vFound
>
> vFound = WorksheetFunction.VLookup(Left(valor, 10), Matriz, columna,
> Range_look)
> BUSCARFC = vFound
>
> End Function
>
> Se resuelve en parte la necesidad, pero tengo que seguir insertando en una
> columna para hacer la b squeda en hoja2,