Excel - INSERTAR CELDAS COPIADAS Y BORRAR CONTENIDO EXCEPTO CELDAS CON FORMULAS

 
Vista:
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

INSERTAR CELDAS COPIADAS Y BORRAR CONTENIDO EXCEPTO CELDAS CON FORMULAS

Publicado por Quico (106 intervenciones) el 12/03/2020 00:29:40
Tengo una macro que me INSERTA una fila completa debajo de la fila seleccionada.
Esta macro hace lo siguiente:

1. De la fila seleccionada con celdas con valores y alguna celda con fórmula, la COPIA
2. Debajo de la fila seleccionada, INSERTA las celdas copiadas con los mismos valores y fórmulas.
3. Selecciona la nueva FILA insertada y elimina todos los valores con: Selection.ClearContents

Hasta aquí todo bien, el problema es que me está borrando también las fórmulas. :-(
No tengo claro como puedo hacer para que no me borre la fórmula, que siempre se sitúa en la celda de la "columna E"

Intente crear esta macro "cutre" en la que una vez copiada la fila, seleccionaba una a una cada celda con valores, EXCEPTO la que tiene la formula (Columna E) y luego eliminaba.
Es esta:

1
2
3
4
5
6
7
8
Rows("27:27").Select
Selection.Copy
Rows("28:28").Select
Selection.Insert Shift:=xlDown
Range("B28,C28,D28,G28,H28,I28,J28,K28,L28,M28,O28,P28").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub

Pero claro, el problema es que no tiene por que ser en la fila 28 y ha de poder hacerse en cualquier fila.
Quizá sea todo más sencillo que aplicar otra sintaxis a: Selection.ClearContents

Pero si no existe, esta claro que se tiene que poder indicar las celdas del rango a borrar sin indicar un número de fila.
Range("B28,C28,D28,G28,H28,I28,J28,K28,L28,M28,O28,P28").Select

¿Cómo podría hacerlo?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de FernandoML
Val: 60
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

INSERTAR CELDAS COPIADAS Y BORRAR CONTENIDO EXCEPTO CELDAS CON FORMULAS

Publicado por FernandoML (12 intervenciones) el 12/03/2020 22:28:47
Hola Quico:

Te envío una alternativa a tu código.

Cuando te pongas encima de una celda la fila la inserta debajo de la celda activa.

Espero te sirva

1
2
3
4
5
6
7
Dim Fila As Integer
 
Fila = Selection.Row
 
Rows(Fila).Copy
Rows(Fila + 1).Insert Shift:=xlDown
Range("B" & Fila + 1 & ":D" & Fila + 1 & ",G" & Fila + 1 & ":M" & Fila + 1 & ",O" & Fila + 1 & ":P" & Fila + 1).ClearContents

Un Saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

INSERTAR CELDAS COPIADAS Y BORRAR CONTENIDO EXCEPTO CELDAS CON FORMULAS

Publicado por Quico (106 intervenciones) el 16/03/2020 16:57:14
Muchas gracias Fernando.
¡¡Funciona perfectamente tu desarrollo!!
Con esto del 'coronavirus' aún no lo había podido probar.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar