Botones que no ejecutan al proteger hoja

14/06/2007 - 19:48 por Age | Informe spam
Tengo ciertos botones que ejecutan unas macros que funcionan bien solo que al
momento de porteger la hoja y quere ejecuitar el boton no se ejecutan y se
despleiag una ventana que dice:

Se ha producido el error '1004' en tiempo de ejecución:

No se puede asignar la propiedad Hidden de la clase range

Un boton es para ocultar columna y otra para mostar tengo estos codigos:

Private Sub CommandButton1_Click()
[g:g].Columns.Hidden = True
End Sub

y

Private Sub CommandButton1_Click()
[g:g].Columns.Hidden = False
End Sub

¿que puedo hacer para que se ejecuten estos comando estando protegida la hoja.
 

Leer las respuestas

#1 Arcano
14/06/2007 - 21:55 | Informe spam
On 14 jun, 13:48, Age wrote:
Tengo ciertos botones que ejecutan unas macros que funcionan bien solo que al
momento de porteger la hoja y quere ejecuitar el boton no se ejecutan y se
despleiag una ventana que dice:

Se ha producido el error '1004' en tiempo de ejecución:

No se puede asignar la propiedad Hidden de la clase range

Un boton es para ocultar columna y otra para mostar tengo estos codigos:

Private Sub CommandButton1_Click()
[g:g].Columns.Hidden = True
End Sub

y

Private Sub CommandButton1_Click()
[g:g].Columns.Hidden = False
End Sub

¿que puedo hacer para que se ejecuten estos comando estando protegida la hoja.



Hola, tienes que desproteger y vovler a proteger la hoja en el codigo:

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
[g:g].Columns.Hidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
End Sub


si tienes clave seria:

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
[g:g].Columns.Hidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True, Password:="clave"
End Sub

y si quieres una macro más "elegante" te recomiendo utilizar la
actualizacion de la pantalla, siempre y cuando sea lenta la ocultacion
de columnas.

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
[g:g].Columns.Hidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True, Password:="clave"
Application.ScreenUpdating = True
End Sub

Preguntas similares