Borrar celdas determinadas

Buena a todos.
Lo que necesito es una macro que bo
Tengo una base datos en el cuál lleno una serie de datos en celdas determinadas a las cuales deseo borrar de forma automática a través de una macro y así proceder llenar esas celdas con nueva información. Además quiero que la macro considere que al insertar o eliminar filas o columnas de la base de datos, el borrado de la información se mantengan las celdas de las filas o columnas determinadas para el llenado de la información.
Ejemplo
Celdas determinadas para el llenado de la información.
A2,C2,E2
B4,D4,E4
C3, E5
Si al inserta filas o columnas la macro que borra esas celdas mantenga esas celdas ya determinadas.
Gracias
1

1 respuesta

1
Respuesta de
Hola:
Para borrar celdas discontinuas, con macro, utiliza esta instrucción:
Range("A2,C2,E2,B4, D4:E4,C3,E5") = ""
No importa si insertas o eliminas filas/col: la rutina siempre eliminará lo que tenga el Range entre paréntesis.
Sdos. No olvides finalizar la consulta si el tema quedó resuelto.
Elsa
PD) Te recomiendo mi manual Programación_VBA
Muchas gracias por responder.
Pero tengo ahora un problema. Al insertar o eliminar filas se pierde el enlace de filas que están seleccionadas en la macro.
Por ejemplo si tengo datos en filas de otra hoja que están ocultas y que la macro las considera.
Sheets("hoja2").Range("13:24,75:98").EntireRow.Hidden = True
y que se necesita insertar o eliminar una o varias filas antes o dentro del rango de filas determinadas en la hoja2, los datos se moveran en la hoja pero en la macro pierden el enlance dependiendo del numero de filas q se insertan o eliminan según sea el caso.
No se si le estoy expresando bien en lo que quiero que me ayude a solucionar.
Será posible que:
1). Si inserto o elimino filas, las macros mantenga el criterio de las filas que ya están determinadas. Es decir que mantenga el enlace según la cantidad de filas a insertar o eliminar
2). Necesito 2 macros en dos botones: uno para eliminar filas y otro para insertar y que me muestren los siguientes mensajes.
Si es insertar: ¿Cuántas filas desea insertar? Y después que valide con otra pregunta
¿Esta seguro que quiere insertar la filas? SI/NO
Si es borrar: ¿Cuántas filas desea borrar? Y después que valide con otra pregunta
¿Esta seguro que quiere eliminar las filas? SI/NO
3). La macro que limpia o borra los datos, también haga una pregunta
¿Esta seguro que quiere borrar los datos? SI/NO
4). El archivo lo quiero proteger con con contraseña. ¿Será posible que las macros se ejecuten teniendo el archivo protegido?
Muchas gracias por su tiempo.
Dios le bendiga
¿4 consultas en el mismo tema? mmmmm
1 - Mira, es muy complicado lo que estás tratando de hacer... complicado programarlo para mí en este momento.
¿Por qué una vez que sepamos la cant de filas a insertar, hay que evaluar si estarán arriba, dentro o debajo de la 13:24 y de las 75:98... te das cuenta de la cantidad de opciones que existen, verdad?
Por lo tanto te sugiero evalúes la posibilidad de darle el rango a ocultar de otro modo... quizás a partir de la celda activa o tantas filas arriba o debajo de la activa...
2 - aquí va 1 rutina de ejemplo para insertar filas. Esta es a partir de la celda activa.
Sub insertafilas()
'x Elsamatilde
canti = InputBox("Cuántas filas vas a insertar?", "Confirmar")
If canti = "" Or Not IsNumeric(canti) Then Exit Sub
'solicita confirmación
sino = MsgBox("¿Estás seguro de insertar " & canti & " filas?", vbYesNo, "Confirmar")
If sino <> vbYes Then Exit Sub
'se inserta la cant de filas x encima de la celda activa
Rows(ActiveCell.Row & ":" & ActiveCell.Row + canti).Select
Selection.Insert
End Sub
3- Siguiendo el ejemplo de la macro anterior no te será difícil con la de borrado... sino en nueva consulta por favor.
4- Si, claro... sino tendríamos acceso a cuanta aplicación ronda por ahí.
PD) Quizás quieras evaluar la opción de trabajar con un buen manual...
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: