MACRO para rellenar o copiar datos en filas vacias

Tengo un reporte de ventas que esta detallado por articulo, pero agrupado por FAMILIA, CODIGO Y PRODUCTO, estos datos son los que se necesito sean copiados hacia abajo en las filas vacias, para poder procesar la informacion en el excel.

Saludos

JOHNMOR41, PERU

Respuesta
5

Para rellenar los datos, primero tienes que quitar las celdas combinadas; para quitar las celdas combinadas, selecciona todas tus celdas y presiona el botón "Combinar y centrar"

Si ya no tienes celdas combinadas, selecciona todas las celdas que vas a rellenar, incluyendo las celdas que tienen datos.

Selecciona del menú inicio: Buscar y seleccionar

En la siguiente pantalla selecciona la opción: celdas en blanco y presiona Aceptar

Notarás que las celdas en blanco ahora tiene un sombreado de otro color.

Ahora, sin salirte de la celda activa, en este caso, mi celda activa es la celda B3; escribe el símbolo = y presiona la fecha hacia arriba, deberás tener algo similar a esto:

Lo que sigue es presionar las teclas Control y sin soltar la tecla Control presiona Enter, después de presionar Enter las celdas vacías se rellenan

Por último selecciona las columnas A, B y C, cópialas y pégalas como pegado especial sólo valores.

Listo!


Gracias por su respuesta, pero el problema es que el archivo tiene más de 30,000 registros. Por eso pedía un MACROS, alguna sugerencia.

FELIZ AÑO 2014, JOHNMOR41 - PERÚ

Lo que te mostré lo puedes hacer con 10 o con toda la hoja.

Lo que haría la macro es repetir todos los pasos que te puse.

¿Hiciste la prueba con tu archivo de lo que te mostré? ¿Tuviste algún problema?

Te anexo la macro

Sub Rellenar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    u = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
    Range("A1:C" & u).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    Columns("A:C").Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
End Sub

Si tienes celdas combinadas, utiliza esta macro para quitar la combinación y entonces rellenar

Sub Rellenar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Columns("A:C").UnMerge
    u = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
    Range("A1:C" & u).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    Columns("A:C").Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

Experto Dante Amor, utilice la 2da MACRO "PARA CELDAS COMBINADAS" funciono excelente mejor que utilizar "IR A ESPECIAL" ya que con esa opcion tengo que pasar los datos rellanados a Valores.

Solo le pido una mejora al MACRO ya que solo funciona hasta la 3ra COLUMNA como se ve en el pantallazo que le anexo. Eres un GENIO

Experto una pregunta mas si la Columna a aplicar la MACRO en lugar de estar en la columna "D" estuviera en la Columna "F" (osea las columnas COMBINADAS no estubieran seguidas habria que mover las columnas en la hoja de excel o la modificacion se puede realizar en la MACRO). Disculpa la molestia y agradezco que compartas tus conocimientos. Saludos JOHNMOR41 - PERU

Te anexo la macro para que lo haga desde la A hasta la F

Sub Rellenar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Columns("A:F").UnMerge
    u = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
    Range("A1:F" & u).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    Columns("A:F").Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
End Sub

Estimado experto Dante Amor, muy bien tu MACRO funciona a la perfección, solo un favor más, como hacer para que la MACRO haga que el rellenado de datos sea con letra de otro color (ejemplo color "rojo") y se fuera posible que tenga un fondo "amarillo". Disculpe que abuse de su conocimiento, muchas gracias.

saludos JOHNMOR41 - PERU

Podrías valorar esta respuesta. Crea una nueva pregunta por cada petición. Si lo deseas, al final del título de la nueva pregunta escribe que va dirigida a Dante Amor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas