Llenar Celdas vacías

Mi pregunta es como rellenar celdas vacías con datos anteriores.
Ejemplo: Tengo una columna donde tengo valores separados por celdas lo que quiero hacer es que el primer dato lo repita hasta donde empieza el segundo dato y así sucesivamente hasta recorrer todos los datos.
Tengo el sig código pero no me funciona.
Sub LlenaBlnk()
ActiveSheet. Range(Cells(ActiveCell. Row, ActiveCell. Column), Cells(ActiveCell. SpecialCells(xlLastCell). Row, ActiveCell. Column)).Select
On Error GoTo ControlError:
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=R[-1]C"
Selection.CurrentRegion.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
ActiveCell.Select
Exit Sub
ControlError:
MsgBox "Esta columna ya tiene sus celdas con dato", vbInformation, "Rango completo"
Err.Clear
ActiveCell.Select
End Sub

1 Respuesta

Respuesta
1
Por lo que puedo ver en tu macro, este coincide con un "truco" que alguna vez recomendé en este mismo sitio.
Selecciona la columna a completar con el dato superior, desde la primera ocupada hasta la última línea.
Con el área aún seleccionada, presiona F5 (atajo de Ir a...)
En la pantalla que aparece presiona el botón "Especial" y marca la opción "Celdas en blanco", presiona el botón "Aceptar"
Con esto, se habrá seleccionado todas las celdas vacías entre cada dato.
Así como está, escribe =C10
y presiona Ctrl+Enter.
(Si tu primer celda seleccionada, ahora, fuese C11. Es decir: selecciona la celda inmediata superior)
Esto llenará las celdas vacías con una fórmula que lee la celda superior, tomando el dato que allí encuentre y cambiando cuando aparece un dato distinto.
Finalmente puedes copiar todo este rango de celdas con fórmulas y pegarlo sobre el mismo rango como valor usando "Pegado Especial..."
Creo que esto es lo que quieres y la macro que mencionas funciona correctamente.
Ten en cuenta que, antes de ejecutarla, debes seleccionar una celda con dato, dentro del rango a completar.
Prueba con esto y dime si resuelve tu problema, si no dime cual es el error que provoca la macro.
Aclarando qué entendí mal o qué faltó.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas