Visual Basic para Aplicaciones - Trabajar con hojas de excel ocultas

Life is soft - evento anual de software empresarial
 
Vista:

Trabajar con hojas de excel ocultas

Publicado por Mario Barajas (7 intervenciones) el 02/07/2007 19:09:38
Hola que tal, estoy haciendo un aplicacion en excel, y la verdad es que no soy muy experto vba, y tengo el siguiente problema.

cuando busco una hoja que no esta oculta puedo trabajar perfectamente con esa hoja, pero cuando la oculto, no la puedo encontrar y me marca error la aplicacion.

ojala me puedan ayudar.

Saludos. y de antemano muchas gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Trabajar con hojas de excel ocultas

Publicado por Cristian (2 intervenciones) el 06/07/2007 02:59:32
Hola Mario

Creo que el problema reside en las instrucciones que estás usando para referirte a esas hojas ¿podrías ser un poco más explicito?

por ejemplo para referirte a una hoja puedes usar el número de hoja por el orden en que las veas en la pantalla:
ActiveWorkbook.Worksheets(1).range("XX").value
o por el nombre que le pongas:
ActiveWorkbook.Worksheets("Nombre de la Hoja").range("XX").value

puedes prescindir del ActiveWorkbook depende de ti.

O puede ser quizá que estas usando el formateo de la hoja bloqueando y ocultando las celdas, de modo que al aplicar la proteccion de la hoja las macros no pueden acceder a ellas (por el bloqueo; quítaselo).

De cualquier modo revisa ambas circunstancias y te recomiendo que en lo sucesivo si necesitas ocultar hojas lo hagas mediante el editor de visual basic, seleccionando: xlSheetHidden o si quieres que no se puedan rehabilitar desde lel libro de excel usa xlSheetVeryHidden, de este modo siempre estarán ocultas en el libro y si quieres visualizarlas o esconderlas con código crea una macro con las siguientes instrucciones, por ejemplo:

(por si acaso: [menu] insertar/ modulo. y agregas:)

sub auto_open()
Worksheets(1).Visible = xlSheetVeryHidden 'si la quieres volver a esconder
Worksheets(2).Visible = xlSheetVeryHidden todas las que quieras
end sub
esta macro se correrá al abrir el libro

y para mostrarlas crea otra con el nombre que quieras, por ejemplo:

sub mostrar_hojas()
Worksheets(1).Visible = True 'si la quieres ver y...
Worksheets(2).Visible = true
end sub
y le asignas un atajo de teclas.

Espero que te sirva

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar