Saludos. 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).
Necesitaria 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.
Gracias por su ayuda.
Adjunto | Tamaño |
---|---|
rellenar_celdas_19-07-2019.png | 11.58 KB |
entiendo que tienes qeu hacer varias cosas
Lo primero es recorrer la columna C en busca de celdas en blanco. Lo puedes hacer con un bucle que vaya cambiando la fila por ejemplo y compruebe si la celda está vacía
If IsEmpty(TuCeldaEnColumnaC.Value) Then ...
Cuando encuentre una celda en blanco tendrás que ver si el valor de la columna AA apareció antes, eso quiere decir, que debería estar en las filas anteriores a la actual. para encontrar la posición de la coincidencia puedes utilizar la función coincidir de la hoja de cálculo, que en VBA es Worksheetfunction.MATCH
filaanteriorcoincidente=Application.Worksheetfunction.Match(valorenlacolumnaAAdelafilaactual,rangodesdelafila1hastalafilaactualmenos1,coincidenciaexacta)
si no encuentra el valor generará un error, con lo que tendrás que añadir un tratamiento de errores para ese caso.
si lo encuentra, tendrás ya la fila de la que tomar el valor de la columna C y ponerlo en la fila actual
TuCeldaEnColumnaC.Value = CeldaencolumnaCdelafilaencontrada.Value
y por último quieres ponerle color a la celda
Tucelda.Interior.Color=...
------
Ya sé Excel, pero necesito más.