Según veo, cada que abres el libro se protegen todas las hojas,
si el proceso le funciona cuando las hojas no están bloqueadas,
intenta desproteger la hoja antes de ocultar las filas y una vez estén
ocultas la vuelves a proteger, es decir,
Sub OcultarFilas()
Application.ScreenUpdating = False
Dim Celda As Range
ActiveSheet.Unprotect "contraseña"
For Each Celda In Range("k1:k101")
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = "")
Next
ActiveSheet.Protect "contraseña"
End Sub
Saludos
Juan Alejandro
On 13 abr, 02:59, hilde <hi...@domain-xyz.in> wrote:
> Hola !
> Soy nueva en este foro y estoy aprendiendo a golpes VB.
> Tengo un trabajo en Excel, que tiene 20 hojas, de las cuales 12 contiene
> informaci n de cada mes. En cada una de ellas hay filas con valores
> iguales a cero. Bien, la hoja la tengo protegida para que no sean modificadas
> ciertas celdas por el usuario que ingresa datos, y lo que quiero es que al
> imprimir la hoja se oculten las filas con valor cero y luego se vuelvan a
> mostrar.
> Vi una respuesta que di H ctor Miguel a Ren , en Mayo de
> 2005, pero a mi no me ha funcionado.
> Por favor, me pueden ayudar a descubrir d nde est el error,
> porque ya estoy verde.
> Gracias
> Mis c digos son:
>
> Private Sub Workbook_Open()
> Dim Hoja As Worksheet
> For Each Hoja In Worksheets
> Hoja.Protect _
> Password:="123", UserInterfaceOnly:=True
> End Sub
>
> Sub OcultarFilas()
> Application.ScreenUpdating = False
> Dim Celda As Range
> For Each Celda In Range("k1:k101")
> Celda.EntireRow.Hidden = (Celda = 0 Or Celda = "")
> Next
> End Sub
>
> Sub MostrarFilas()
> Range("k1:k101").EntireRow.Hidden = False
> End Sub
>
> Si la hoja no est protegida funciona, aunque se tarda al ocultar las
> filas y al mostrarla.
> Cuando la protejo y darle click al bot n ocultar, se pone en amarillo :
> Celda.EntireRow.Hidden = (Celda = 0 Or Celda = "")
>
> Al darle click al bot n Mostrar se pone en amarillo:
>
> Range("k1:k101").EntireRow.Hidden = False
>
> Podr an decirme el c digo para imprimir (?)