Ayuda macro ...

24/06/2005 - 13:00 por Altex | Informe spam
Hola a todos, he intentado buscar la solucion a mi problema en el grupo
pero no he encontrado nada, os cuento...

Necesito el codigo para un macro que, me imprima un rango de una hoja
excel protegida y a su vez me oculte las filas que tengan en una rango
vertical el valor de la celda 0 o en blanco.

No se si me he explicado, la hoja es un informe que presenta los datos de
otra hoja dentro del mismo libro. Los datos en esa hoja estan
estructurados en varios rangos, cabecera, cuerpo del documento y final.
El rango de las filas que quiero ocultar solo es el del cuerpo del
documento. He probado con un codigo que encontre en el grupo

Sub EsconderFilas()
Application.ScreenUpdating = False
Dim Celda As Range
For Each Celda In Range("n36:n66")
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = "")
Next
End Sub

pero al estar la hoja protegida no se puede ejecutar, tambien encontre
otro codigo para ejecutar macros en hojas protegidas, pero no soy capaz
de que funcione ...

Private Sub Workbook_Open()
Worksheets("Hoja9").Protect _
Password:="", _
UserInterfaceOnly:=True
End Sub

Alguien me puede arrojar algo de luz sobre este problema?

Muchas gracias.

PD: como informacion os comento, el primer codigo lo he metido en la hoja
y el segundo en ThisWorkbook
 

Leer las respuestas

#1 Fernando Arroyo
24/06/2005 - 14:18 | Informe spam
El código tienes que ponerlo en un módulo creado por ti (Insertar > Módulo), y podría ser algo como:


Sub EsconderFilas()
Dim Celda As Range

Application.ScreenUpdating = False

With Hoja1 'Sustituir Hoja1 con el nombre de la hoja
.Unprotect 'o .Unprotect password:="TuPassword", si la hoja está protegida con contraseña
For Each Celda In .Range("n36:n66")
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = "")
Next
.Protect 'o .Protect password:="TuPassword", si se quiere proteger con contraseña
End With
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel



"Altex" escribió en el mensaje news:%23u%
Hola a todos, he intentado buscar la solucion a mi problema en el grupo
pero no he encontrado nada, os cuento...

Necesito el codigo para un macro que, me imprima un rango de una hoja
excel protegida y a su vez me oculte las filas que tengan en una rango
vertical el valor de la celda 0 o en blanco.

No se si me he explicado, la hoja es un informe que presenta los datos de
otra hoja dentro del mismo libro. Los datos en esa hoja estan
estructurados en varios rangos, cabecera, cuerpo del documento y final.
El rango de las filas que quiero ocultar solo es el del cuerpo del
documento. He probado con un codigo que encontre en el grupo

Sub EsconderFilas()
Application.ScreenUpdating = False
Dim Celda As Range
For Each Celda In Range("n36:n66")
Celda.EntireRow.Hidden = (Celda = 0 Or Celda = "")
Next
End Sub

pero al estar la hoja protegida no se puede ejecutar, tambien encontre
otro codigo para ejecutar macros en hojas protegidas, pero no soy capaz
de que funcione ...

Private Sub Workbook_Open()
Worksheets("Hoja9").Protect _
Password:="", _
UserInterfaceOnly:=True
End Sub

Alguien me puede arrojar algo de luz sobre este problema?

Muchas gracias.

PD: como informacion os comento, el primer codigo lo he metido en la hoja
y el segundo en ThisWorkbook

Preguntas similares