¿Cómo Insertar filas completas en una hoja de excel y luego eliminar todas las que se insertaron a partir de un rango?

En esta ocasión necesito que me ayuden o que me brinden una idea de cómo se puede hacer una macro para eliminar tantas filas se hayan agregado.

El caso es este: Se tiene un formulario de excel con dos columnas (Código y Nombre) especificado para 10 registros como cantidad estándar a partir de los encabezados, entonces al rango ($A$12:$B$12) se le ha asignado el nombre de "Final" para que a partir de ahí y presionando un botón se inserten tantas filas como se necesitaen para seguir ingresando datos, para ello ya se tiene este pequeño código ActiveSheet. Range("Final"). EntireRow.Insert. Lo que se necesita es que al terminar de ingresar los registros y guardarlos mediante otra macro, todos los campos se limpien, cosa que ya lo hace con este código Range("A2:B12").Select - Selection. ClearContents, lo que estaría pendiente es eliminar el mismo número de filas que se ingresaron a partir del rango "Final" de tal manera que el formulairo regrese a su estado original con espacio para 10 registros únicamente.

1 Respuesta

Respuesta
1

Puedes mostrar una imagen de la hoja o decirmos que tiene es la celda a13

Suponiendo que en la celda a13 exista una palabra como "nada"

Podrías usar algo como estos

Range("a13").Select
Do While ActiveCell <> ""
If ActiveCell = "nada" Then Exit Sub
ActiveCell.EntireRow.Delete
Loop

Si te silve no olvides valorar para cerrar la pregunta 

Hola Aneudys Marinez.

Te comparto la imagen del formulario

En este caso amigo, las celdas a eliminar oscilarían entre 1 a 10 filas. Por Ejemplo: supongamos que ya se llegó al límite permitido por el formulario estándar y se necesitan ingresar 5 registros más, en este caso se le tendría que dar click al botón "Insertar" 5 veces luego al darle "Guardar" el formulario se tendría que limpiar de A2:B11 y acontinuación se eliminarían las 5 filas que se agregaron dejando en su estado original al formulario

1 - si la imagen es tu estado original

2 - la línea Azul siempre estar en blanco digo la celda 12

3 - la línea se inserter desde la 11

Usa estés procedimiento lo que hace es que desde la celda 12 va a borrar

Todas la es líneas hasta encontrar el espacio en blanco

Digo me

Range("a12").Select
Do While ActiveCell <> ""
ActiveCell.EntireRow.Delete
Loop

No olvides valora oara cerrar la pregunta 

si no es así dime desde donde se inserta las líneas

¡Gracias!

Excelente! La verdad funciona a la perfección. Hay que tener imaginación y por supuesto conocer de programación en VBA, cosa que aún no domino en un nivel básico.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas