Discussion:
Macro para ocultar y mostrar filas en varias hojas protegidas
(demasiado antiguo para responder)
hilde
2011-04-13 07:59:17 UTC
Permalink
¡ 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 contien
información de cada mes. En cada una de ellas hay filas con valore
iguales a cero. Bien, la hoja la tengo protegida para que no sean modificada
ciertas celdas por el usuario que ingresa datos, y lo que quiero es que a
imprimir la hoja se oculten las filas con valor cero y luego se vuelvan
mostrar
Vi una respuesta que dió Héctor Miguel a René, en Mayo d
2005, pero a mi no me ha funcionado
Por favor, me pueden ayudar a descubrir dónde está el error
porque ya estoy verde
Gracia
Mis códigos son

Private Sub Workbook_Open(
Dim Hoja As Workshee
For Each Hoja In Worksheet
Hoja.Protect
Password:="123", UserInterfaceOnly:=Tru
End Su

Sub OcultarFilas(
Application.ScreenUpdating = Fals
Dim Celda As Rang
For Each Celda In Range("k1:k101"
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = ""
Nex
End Su

Sub MostrarFilas(
Range("k1:k101").EntireRow.Hidden = Fals
End Su

Si la hoja no está protegida funciona, aunque se tarda al ocultar la
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 = Fals

Podrían decirme el código para imprimir (?
Mil gracias por su atención
jalejop
2011-04-13 14:07:46 UTC
Permalink
Hola Hilde,

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
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
 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.
 Celda.EntireRow.Hidden = (Celda = 0 Or Celda = "")
 Range("k1:k101").EntireRow.Hidden = False
 Podr an decirme el c digo para imprimir (?)
 Mil gracias por su atenci
hilde
2011-04-13 18:21:37 UTC
Permalink
hilde escribió el 13/04/2011 09:59
Post by hilde
¡ 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 contien
información de cada mes. En cada una de ellas hay filas con valore
iguales a cero. Bien, la hoja la tengo protegida para que no sea
modificada
Post by hilde
ciertas celdas por el usuario que ingresa datos, y lo que quiero es que a
imprimir la hoja se oculten las filas con valor cero y luego se vuelvan
mostrar
Vi una respuesta que dió Héctor Miguel a René, en Mayo d
2005, pero a mi no me ha funcionado
Por favor, me pueden ayudar a descubrir dónde está el error
porque ya estoy verde
Gracia
Mis códigos son
Private Sub Workbook_Open(
Dim Hoja As Workshee
For Each Hoja In Worksheet
Hoja.Protect
Password:="123", UserInterfaceOnly:=Tru
End Su
Sub OcultarFilas(
Application.ScreenUpdating = Fals
Dim Celda As Rang
For Each Celda In Range("k1:k101"
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = ""
Nex
End Su
Sub MostrarFilas(
Range("k1:k101").EntireRow.Hidden = Fals
End Su
Si la hoja no está protegida funciona, aunque se tarda al ocultar la
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 = Fals
Podrían decirme el código para imprimir (?
Mil gracias por su atenció
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é
ocultas la vuelves a proteger, es decir

Sub OcultarFilas(
Application.ScreenUpdating = Fals
Dim Celda As Rang

ActiveSheet.Unprotect "contraseña

For Each Celda In Range("k1:k101"
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = ""
Nex

ActiveSheet.Protect "contraseña


End Su

Saludo

Juan Alejandr

Hola Juan Alejandro, gracias por contestarme
Te cuento que hice lo me dijiste y funciona para ocultar, pero al hacer clic
e
el boton Mostrar se pone en amarillo
Range("k1:k101").EntireRow.Hidden = Fals

Adicionalmente, no sé cómo hacer el código para Imprimir l
hoja protegida, una vez ocultas las filas con valor cero, y luego volverlas
mostrar para seguir trabajando en esa hoja, volver a ocultar filas - Imprimi

mostrar filas y así sucesivamente
Mil gracias por tu colaboración
hilde
2011-04-13 20:31:31 UTC
Permalink
hilde escribió el 13/04/2011 20:21
Post by hilde
hilde escribió el 13/04/2011 09:59
Post by hilde
¡ 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 contien
información de cada mes. En cada una de ellas hay filas con valore
iguales a cero. Bien, la hoja la tengo protegida para que no sea
modificada
Post by hilde
Post by hilde
ciertas celdas por el usuario que ingresa datos, y lo que quiero es que a
imprimir la hoja se oculten las filas con valor cero y luego se vuelvan
mostrar
Vi una respuesta que dió Héctor Miguel a René, en Mayo d
2005, pero a mi no me ha funcionado
Por favor, me pueden ayudar a descubrir dónde está el error
porque ya estoy verde
Gracia
Mis códigos son
Private Sub Workbook_Open(
Dim Hoja As Workshee
For Each Hoja In Worksheet
Hoja.Protect
Password:="123", UserInterfaceOnly:=Tru
End Su
Sub OcultarFilas(
Application.ScreenUpdating = Fals
Dim Celda As Rang
For Each Celda In Range("k1:k101"
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = ""
Nex
End Su
Sub MostrarFilas(
Range("k1:k101").EntireRow.Hidden = Fals
End Su
Si la hoja no está protegida funciona, aunque se tarda al ocultar la
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 = Fals
Podrían decirme el código para imprimir (?
Mil gracias por su atenció
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é
ocultas la vuelves a proteger, es decir
Sub OcultarFilas(
Application.ScreenUpdating = Fals
Dim Celda As Rang
ActiveSheet.Unprotect "contraseña
For Each Celda In Range("k1:k101"
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = ""
Nex
ActiveSheet.Protect "contraseña
End Su
Saludo
Juan Alejandr
Hola Juan Alejandro, gracias por contestarme
Te cuento que hice lo me dijiste y funciona para ocultar, pero al hacer clic
en el boton Mostrar se pone en amarillo
Range("k1:k101").EntireRow.Hidden = Fals
Adicionalmente, no sé cómo hacer el código para Imprimi
la hoja protegida, una vez ocultas las filas con valor cero, y lueg
volverla
Post by hilde
a mostrar para seguir trabajando en esa hoja, volver a ocultar filas
Imprimi
Post by hilde
- mostrar filas y así sucesivamente
Mil gracias por tu colaboració
Hola Juan Alejandro, modifique el código Mostrarfilas y me di
resultado
El código quedó así

Sub MostrarFilas(
Application.ScreenUpdating = Fals
ActiveSheet.Unprotect "123
Range("k1:k101").EntireRow.Hidden = Fals
ActiveSheet.Protect "123
End Sub

Continúe leyendo en narkive:
Loading...