Restriccion

19/03/2007 - 19:35 por Enrique | Informe spam
tengo una hoja de excel en la que quiero que los que la usen no puedan ni
insertar ni eliminar filas y columnas pero que si puedan modificar usar la
hoja dar formato y todo lo demas menos que puedan hacer lo que pido, como lo
puedo hacer
 

Leer las respuestas

#1 Héctor Miguel
20/03/2007 - 00:06 | Informe spam
hola, Enrique !

tengo una hoja de excel en la que quiero que los que la usen no puedan ni insertar ni eliminar filas y columnas
pero que si puedan modificar usar la hoja dar formato y todo lo demas... como lo puedo hacer



si no es 'probema' el uso de las macros en tu libro [a falta de la no 'operatividad' de proteger la hoja]...
y suponiendo que 'la hoja' que quieres [semi]proteger es la "hoja2" [modifica/adapta/corrige/... segun corresponda]:
-> copia/pega las siguientes instrucciones => en el modulo de codigo de tu libro [ThisWorkbook]
si no quieres cerrar y re-abrir tu libro... 'parate' en el evento _open y pulsa la tecla {F5} :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Dim Comandos
Private Sub Workbook_Open()
Comandos = Array(292, 293, 294, 295, 296, 297, 478, 3181)
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
ActivarComandos LCase(ActiveSheet.Name) <> "hoja2"
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
ActivarComandos True
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActivarComandos LCase(Sh.Name) <> "hoja2"
End Sub
Private Function ActivarComandos(ByVal Activado As Boolean)
Dim Barra As CommandBar, Sig As Byte: On Error Resume Next
For Sig = LBound(Comandos) To UBound(Comandos)
For Each Barra In Application.CommandBars
Barra.FindControl(Id:=Comandos(Sig), Recursive:=True).Enabled = Activado
Next
Next
End Function

Preguntas similares