Excel - Insertar fila en una hoja protegida y que copie solo la fórmula que hay junto a la fila insertad

 
Vista:
sin imagen de perfil

Insertar fila en una hoja protegida y que copie solo la fórmula que hay junto a la fila insertad

Publicado por José (26 intervenciones) el 15/03/2018 11:50:43
Hola a todos, a ver si me podéis ayudar en este problema.

Quisiera insertar una fila en una hoja protegida y que copie solo la fórmula de la fila donde se encuentra la celda activa. El problema de esta macro es que después de desproteger la hoja, insertar la línea y borrar la información que no quiero, ya con solo la formula copiada, me protege la celda donde ha borrado la información.

Como podría hacer para que no la protegiera.

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub insertafila()
 
ActiveSheet.Unprotect
Dim fila As Integer
fila = ActiveCell.Row
Rows(fila).Insert Shift:=xlDown
Rows(fila).Copy
Rows(fila).PasteSpecial Paste:=xlPasteAll
Range("f" & (fila + 1)).Clear
Range("J" & (fila + 1)).Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 
End Sub

Saludos y 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 Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Insertar fila en una hoja protegida y que copie solo la fórmula que hay junto a la fila insertad

Publicado por Antoni Masana (2463 intervenciones) el 16/03/2018 08:27:19
Falta solo un pequeño detalle:

1
2
3
4
5
6
7
8
9
10
11
Sub insertafila()
    ActiveSheet.Unprotect
    Dim fila As Integer
    fila = ActiveCell.Row
    Rows(fila).Insert Shift:=xlDown
    Rows(fila + 1).Copy
    Rows(fila).PasteSpecial Paste:=xlPasteAll
    Range("f" & (fila + 1)).Clear
    Range("J" & (fila + 1)).Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

La Macro añade una linea por DEBAJO de la seleccionada dejando en BLANCO el texto
Si se quiere dejar el BLAnCO la de ARRIBA en estas dos líneas quita el +1

1
2
Range("f" & (fila + 1)).Clear
    Range("J" & (fila + 1)).Select

Saludos.
\\//_
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