Comparar celdas y si son iguales, pegar pegar valor en celda vacía.

Si me pueden ayudar les estaría muy agradecido.

En una hoja excel, tengo unos valores en la columna AA y otros en la columna C que están incompletos (celdas en blanco).
Necesitaría una macro que compare los valores de todas las celdas de la columna AA y cuando encuentre coincidencias, copie el valor correspondiente de su celda en la columna C en la celda en blanco.

En la imagen del ejemplo, AA/16 es igual AA/17, entonces debería copiar el valor C/16=1900 y pegarlo en C/17 celda en blanco. Y le ponga color a la celda para diferenciarla.
AA/22 es igual AA/23 entonces, debería copiar el valor C/22=1900 en C/23. Y le ponga color a la celda para diferenciarla.
AA/24 es igual AA/25-26-27 entonces, debería copiar el valor C/24=7200 en C/25-26-27. Y le ponga color a la celda para diferenciarla.

1 Respuesta

Respuesta
1

Te dejo la macro que resuelve tu ejemplo.

Entra al Editor de macros (con atajo de teclado ALT + F11)

Inserta un módulo y allí copia lo siguiente:

Sub completaLista()
'x Elsamatilde
'se recorre la col AA hasta el fin de datos
'segunda celda >>>>> Ajustar
[AA2].Select
While ActiveCell <> ""
    'se compara con  la celda anterior
    If ActiveCell = ActiveCell.Offset(-1, 0) Then
        'si son = y celda en C está vacía
        If Range("C" & ActiveCell.Row) = "" Then
            'se coloca el valor de la anterior
            Range("C" & ActiveCell.Row) = Range("C" & ActiveCell.Row).Offset(-1, 0)
            'colorea
            Range("C" & ActiveCell.Row).Interior.ColorIndex = 8
        End If
    End If
    'se pasa a la fila siguiente
    ActiveCell.Offset(1, 0).Select
Wend
MsgBox "Fin del proceso."
End Sub

Solo ajusta el inicio del rango. Estoy considerando que los datos empiezan en AA1 por lo tanto la macro recorre desde AA2, comparando con la anterior.

Gracias por tu respuesta Elsa.

El código que me has enviado, hace lo correcto según el ejemplo que envié.
Intenté que se entendiese mejor y, para ello, la columna AA la ordené ascendente.
Por favor, mira el ejemplo simple que te adjunto (que es más realista), junto con la explicación siguiente por si, puedes modificar el código y adaptarlo.
He probado la tu macro en el mismo y, colorea las coincidencias, aunque al ser los valores de la columna AA alternos, no pega (evidentemente) el valor en su correspondiente celda en la columna C.

Explicación del ejemplo adjunto:

La macro, debe recorrer las celdas de la columna AA y cuando encuentra valores iguales, copiar el valor de la celda correspondiente en la columna C en las celdas vacías.
En el ejemplo adjunto, debería hacer esto:

C4 está vacía, pero el valor en AA4=3, no se repite en el resto de las celdas AA. Por lo tanto, la macro dejaría esta celda en blanco (como está).

En AA5, se encuentra el valor 4 y en C5, se encuentra el valor 30. La macro recorre AA y en las filas 5-11-12-27 encuentra el mismo valor 4 y sus correspondientes celdas en la columna C, están en blanco. Entonces debe pegar 30 en esas celdas.

C10 está en blanco, pero como su valor en AA10=8 no se repite, la deja igual. En C13 y C20, ocurre lo mismo, pese a que en AA13 y AA20 el valor es 9, no puede pegar ningún valor de C al estar vacías.

Sigue recorriendo AA14=10 y en C 14=70. El valor 10 se pepite en AA15 y C15, está vacía. Entonces, pega el valor 70.

AA13=9 que se repite en AA20. Pero como C13 y C20 están en blanco, no puede copiar nada, las deja en blanco.

AA18=13 y C18=100. Por lo tanto, pega 100 en C25 y C26.

Te he puesto los valores en AA alternativos para intentar explicarte lo que se pretende de la macro.

La fila 1 (en amarillo), son los encabezados. No contienen valores.

Muchas gracias por tu ayuda.

P.D.- Soy nuevo en el foro y no veo la posibilidad de adjuntar un archivo. Te envío una captura de la hoja ejemplo.

Qué pena lo tuyo... ni eres tan nuevo en el foro (vi que ya realizaste otras consultas) pero lo peor es que observo que NUEVAMENTE dejaste un ejemplo que no coincide con tu modelo real.

¿Si ya comprobaste que luego no puedes adaptar lo que se te envía... porqué no enviar una imagen del modelo real?

Mis correos aparecen en sitio que dejo al pie. No me pondré a recrear un libro con tu imagen ya que está visto que no son confiables.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas