Macro que oculte hojas

31/08/2007 - 16:06 por Marta | Informe spam
Hola a todos,

A ver si me echáis una manita con esto.

Tengo un documento con varias hojas, la primera de ellas siempre se ve y las
demás están ocultas.
En la primera hoja (la que está siempre visible) hay una serie de botones
cada uno con una macro. Si pincho en el botón 1 la macro lo que hace es
mostrar de las hojas ocultas aquellas que relacionadas con el grupo 1. Si
pincho en el botón 2, me muestra de las hojas ocultas las relacionadas con el
grupo 2... y así sucesivamente con todos los botones que tengo.

El problema es que lo que quiero es que si por ejemplo, pincho en botón 1 y
se muestran todas las hojas del grupo 1. Si ahora pincho en el botón 2 quiero
que se oculten todas las que no sean del grupo 2 y se muestren las del grupo
2.

No consigo hacer una macro que diga "ocultar todas las hojas que están
visibles excepto la hoja Control Panel" (que es la primera, donde están los
botones)... ya que cada hoja tiene nombres distintos y cada vez que pincho en
un botón de antemano no sé cómo se van a llamar las hojas que están mostradas
y quiero ocultar.

¿Me explico?

Pues eso, muchísimas gracias a todos por vuestra ayuda,
Martape
 

Leer las respuestas

#1 César G.
31/08/2007 - 18:04 | Informe spam
Hola Marta

Te serviría el número de la hoja ?

Es decir, si no quieres que se oculte la primera hoja puedes contar cuantas
hojas hay y despues en base a eso hacer algo asi


For i = 2 To ActiveWorkbook.Worksheets.Count
'seleccionar la hoja
ActiveWorkbook.Sheets(i).Select
'ocultarla
ActiveWindow.SelectedSheets.Visible = False

Next i

En algun momento quizás puedas guardar el nombre de la hoja en un arreglo, y
despues recorrerlo dependiendo el nombre

dim NombreHojasGpo1() as string

luego cuando sepas el nombre y la cantidad de hojas

redim NombreHojasGpo1(ActiveWorkbook.Worksheets.Count -1) as string

y luego tal vez usar el arreglo para ocultarlas por su nombre.

solo es una idea, espero que te sea de utilidad.

César G.







"Marta" escribió en el mensaje
news:
Hola a todos,

A ver si me echáis una manita con esto.

Tengo un documento con varias hojas, la primera de ellas siempre se ve y
las
demás están ocultas.
En la primera hoja (la que está siempre visible) hay una serie de botones
cada uno con una macro. Si pincho en el botón 1 la macro lo que hace es
mostrar de las hojas ocultas aquellas que relacionadas con el grupo 1. Si
pincho en el botón 2, me muestra de las hojas ocultas las relacionadas con
el
grupo 2... y así sucesivamente con todos los botones que tengo.

El problema es que lo que quiero es que si por ejemplo, pincho en botón 1
y
se muestran todas las hojas del grupo 1. Si ahora pincho en el botón 2
quiero
que se oculten todas las que no sean del grupo 2 y se muestren las del
grupo
2.

No consigo hacer una macro que diga "ocultar todas las hojas que están
visibles excepto la hoja Control Panel" (que es la primera, donde están
los
botones)... ya que cada hoja tiene nombres distintos y cada vez que pincho
en
un botón de antemano no sé cómo se van a llamar las hojas que están
mostradas
y quiero ocultar.

¿Me explico?

Pues eso, muchísimas gracias a todos por vuestra ayuda,
Martape

Preguntas similares