Comparar valores de dos columnas

Requiero que alguien me ayudar con una idea de como resolver este problema: Tengo una columna con proveedores y la idea es ver si existe en la columna E, y si es así que me deje el valor de la celda de la columna E en la celda de la columna Aux.Gracias.

3 Respuestas

Respuesta
1

La pregunta no está clara. Dice " la idea es ver si existe en la columna E..." . ¿Si existe? ¿Si existe el proveedor, si existe algún contenido, si existe...?

Respuesta
2

Utiliza la siguiente fórmula en la celda C2 y copia hacia abajo:

=SI.ERROR(BUSCARV("*"&B2&"*",E:E,1,0),SI.ERROR(BUSCARV("*"&IZQUIERDA(B2,ENCONTRAR(" ",B2&" ")-1)&"*",E:E,1,0),""))

Nota: si utilizas punto y como ( ; ) como separador de argumentos, entonce cambia en la fórmula las comas ( , ) por punto y coma ( ; )

Así se vería el resultado:

Respuesta
1

Aqui el código.

Sub busca()
'@dj.vivanco
    Dim miDicc As Object, celda As Range, uf As Long
    Set miDicc = CreateObject("Scripting.Dictionary")
    Range("C2:C10000").ClearContents
    uf = Range("B" & Rows.Count).End(xlUp).Row
    For Each celda In Range("B2:B" & uf)
    texto1 = LCase(celda.Value)
        If Not miDicc.Exists(texto1) Then miDicc.Add texto1, celda.Row
    Next celda
    '
    uf = Range("E" & Rows.Count).End(xlUp).Row
    Dim k As Variant
    For Each celda In Range("E2:E" & uf)
        texto2 = LCase(celda.Value)
        For Each k In miDicc.Keys
            pos = InStr(1, texto2, k)
            If pos > 0 Then
                fila = miDicc(k)
                Cells(fila, "C").Value = texto2
            End If
        Next k
    Next celda
    Set miDicc = Nothing
End Sub

Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas