Jump to content
Sign in to follow this  
waltermendez99

Insertar fila vacia con formato de la anterior fila

Recommended Posts

Te dejo el libro con un módulo contentivo de 2 macros para lo que quieres.

Antes de pisar el botón, tienes que seleccionar la celda A. Es como una señal a la macro para saber donde copiar y donde pegar

¿Porque la A?

Si seleccionas la A39 la macro te copia formulas y formatos y valores de la A38

Si seleccionas la A40 la macro te copia formulas y formatos y valores de la A39

Pratica con las 2 macros y ve cual te sirve mejor y ya dirás algo

Cada macro tiene el nombre de su creador, te agradezco inmensamente que dejes un agradecimiento a ellos, no a mí porque fue para mí que ellos crearon las macros.

Edito:

Te estoy modificando para que no tengas que escribir el númweero en la columna A.

Ya cambié el ibro, pruebalo y dice algo

LO de la formula en la columna A, estoy un poco mal con ella porque al insertar lineas no sigue la secuencia numerica y soy un poco (mui) malo para estas cosas. Solo lo basico me vale. A ver si alguien te arregla lo de la formula en A para que siga la secuencia numerica al insertar lineas

INSERSION.zip

Share this post


Link to post
Share on other sites

Gracias primero que nada por responder....

Ahora fijate que es muy útil las macros que compartes, pero no es tanto lo que quiero... pues aprecio que la tarea sea mas automatizada. fíjate que en el código del modulo 1 del archivo que envié cási está(supongo) lo que no logro hallar como hacer que esas filas me las inserte al final de la tabla aunque quedara a deber lo del formato... Te agradezco, y agradezco mucho y a las personas que comparten estas macros tan útiles...

Share this post


Link to post
Share on other sites

hallar como hacer que esas filas me las inserte al final de la tabla aunque quedara a deber lo del formato... Te agradezco, y agradezco mucho y a las personas que comparten estas macros tan útiles...

Inserta al final en el medio al inicio DONDE tu selecciones la A, te copia la linea anterior a la seleccionada y te pega seguiendo la seleccionada

Fijate que cualquier de ellas, tienes que seleccionar la celda en A.

Dependiendo de la celda A que selecciones, las lineas a copiar es la anterior a la A seleccionada, NO IMPORTA SI SELECCIONAS LA A2, o A10 o A100 o A48 siempre pega la copia de la linea anterior a la seleccionada

Te dejo el ejemplo en este subido

INSERSION_1.zip

Share this post


Link to post
Share on other sites

Gracias JoaoM,

Disculpa mi insistencia, fijate que si yo usara este arhivo tal como lo vez sería fabuloso, el asunto es que el archivo que estoy subiendo es una muestra para que se haga mas fácil de visualizar y tratar con el código, mi intención es que en base al código que yo dejo en el archivo puedan ayudarme a como "ajustarlo" con las necesidades que yo no logro hacer (falta de conocimiento),.... al final y pensándolo bien quisera que mejor sólo quedara lo de ir insertando filas pero al final de la tabla, si te diste cuenta lo hace después del encabezado,...... es por eso que sólo puse un boton para que ejecutara es paso.

Mil Gracias por tu ayuda mi amigo, ya sabes que hoy por mi mañana por Ti :)

Saludos! desde Guatemala....

Share this post


Link to post
Share on other sites

Este codigo hace lo que necesitas:

Sub inserta()
a = Range("a8").End(xlDown).Row
With Rows(a)
.Copy
.Insert Shift:=xlDown
End With
Cells(a + 1, 3).Resize(, 8).ClearContents
Cells(a + 1, 1) = Cells(a, 1) + 1
End Sub
[/PHP]

Share this post


Link to post
Share on other sites
Buenos días, Gracias por su atención,

Como insertar una fila "vacia" con el mismo formato y fórmulas utilizadas en la última fila utilizada (anterior)? Resulta que no he podido lograrlo, adjunto les envío mi archivo ahí traté de ser un poco más específico... gracias...

Yo usaría una TABLA, ella hace lo que necesitas

Saludos

Share this post


Link to post
Share on other sites

Muchas Gracias Rogman41,

Este código me ha funcionado, lo que no entiendo es por qué el procedimiento no lo hace igual, cuando el rango inicial está declarado sobre una celda combinada:

Ej. a = Range("C8").End(xlDown).Row Donde C8 es una celda combinada

El cuál es mi caso, en una celda combinada no hace el mismo procedimiento, lo que hace es insertar justo después de esa celda (C8)(o sea la siguiente fila), también quisiera indicarles que el archivo que les subí me funciona bien en una celda no combinada, pero en una celda combinada me hace lo mismo...

Pareciera que la propiedad End no reconoce la celda como única.

Es posible que pueda hacer funcionar la propiedad End en una celda combinada??

Gracias nuevamente...

Share this post


Link to post
Share on other sites

Las celdas combinadas son un problema a la hora de programar. Visualmente están unidas, pero, para el código deben considerarse como separadas. En todo caso, empieza desde C9 o C10, la primera celda no combinada.

O, en el peor de los casos, usar dos veces End:

[C8].End(xlDown).End(xlDown)

Saludos

Share this post


Link to post
Share on other sites

Gracias por tu recomendación Gerson Pineda,

El formato que tengo ya lo tengo definido, el formato consta de 39 filas nosotros ahí llenaremos datos, cuando esas 39 filas se nos acaben mi intención es seguir insertando filas con el formato de la anterior fila (fila precediente). Como no todas las celdas de la fila iran con datos, hay una en la que siempre llevará datos y es en donde el encabezado dice Serie,

al tener esta columna todas con las celdas con sus datos, la propiedad END me serviría porque va a buscar la última celda llena si no estoy mal, pero resulta que mi encabezado Serie es una Celda Combinada por lo tanto no resulta como se espera y pasa lo que expuse en mi anterior respuesta dirigida a Rogman41.

Ya veré si opto por otra metodología.

Desde antemano gracias por tu ayuda y recomendaciones...

Share this post


Link to post
Share on other sites
Gracias por tu recomendación Gerson Pineda,

El formato que tengo ya lo tengo definido, el formato consta de 39 filas nosotros ahí llenaremos datos, cuando esas 39 filas se nos acaben mi intención es seguir insertando filas con el formato de la anterior fila (fila precediente). Como no todas las celdas de la fila iran con datos, hay una en la que siempre llevará datos y es en donde el encabezado dice Serie,

al tener esta columna todas con las celdas con sus datos, la propiedad END me serviría porque va a buscar la última celda llena si no estoy mal, pero resulta que mi encabezado Serie es una Celda Combinada por lo tanto no resulta como se espera y pasa lo que expuse en mi anterior respuesta dirigida a Rogman41.

Ya veré si opto por otra metodología.

Desde antemano gracias por tu ayuda y recomendaciones...

Yo sacrifico cualquier celda combinada o formatos, por el rendimientos de mis datos, si utilizas Excel debes ser mucho mas pragmático de lo usual

Saludos

Share this post


Link to post
Share on other sites

Hola Nuevamente Rogman41,

Con el doble END por decirlo asi jeje, ha funcionado de maravilla, ahora recorre con normalidad la con la celda combinada, Agredezco mucho tu ayuda y a los demás que dieron sus respuestassolución... Gracias Queda por solucionado este tema.

Mi solución fué:

a = Range("C8").End(xlDown).End(xlDown).Row Donde C8 es una celda combinada.

Share this post


Link to post
Share on other sites

Gracias Gerson Pineda, por tus consejos y recomendaciones. Queda por solucionado. :D

Yo sacrifico cualquier celda combinada o formatos, por el rendimientos de mis datos, si utilizas Excel debes ser mucho mas pragmático de lo usual

Saludos

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 5112 personas - Aprender Excel - Total: 4.7 / 5