Ejecutar macros sobre hojas ocultas

Explicare un poco mejor respecto a mi duda, esque tengo 12 macros el cual representan cada mes ejem: enero, febrero, marzo, etc y tengo las 12 hojas con su información correspondiente de cada mes, y pues le doy clic a la macro de enero y automáticamente me manda a el mes seleccionado.

Pero lo que quiero es ocultar tanta hoja de cada mes y solo me quede la hoja principal donde tengo mis macros y que sigas corriendo. Espero me aya explicado, por tu atención muchísimas gracias y espero si me puedan ayudar ya que no soy buena en estos temas.

2 Respuestas

Respuesta

Por macros te refieres a una hoja con doce botones que ejecutan código VBA

si son 12 botones

por que intente dar click derecho a una de las hojas , ver código y que en el panel izquierdo en propiedades  seleccionas , 2-x/sheetveryHidden: . y pues si se oculta pero ya no funciona el botón de esa hoja (mes) seleccionado

Sin conocer el código VBA de los botones y el funcionamiento exacto del libro no puedo ayudarte.

pues te ´puedo compartir el documento? para que me entiendas mucho mejor?

Prueba a seleccionar 0 Hidden

Private Sub commandButton1_click()
Sheets("enero").Select
End Sub

Private Sub CommandButton10_Click()
Sheets("agos").Select
End Sub

Private Sub CommandButton11_Click()
Sheets("sept").Select
End Sub

Private Sub CommandButton12_Click()
Sheets("oct").Select
End Sub

Private Sub CommandButton13_Click()
Sheets("dic").Select
End Sub

Private Sub CommandButton15_Click()
Sheets("nov").Select
End Sub

Private Sub CommandButton2_Click()

End Sub

Private Sub CommandButton4_Click()
Sheets("febr").Select
End Sub

Private Sub CommandButton5_Click()
Sheets("abril").Select
End Sub

Private Sub CommandButton6_Click()
Sheets("marzo").Select
End Sub

Private Sub CommandButton7_Click()
Sheets("junio").Select
End Sub

Private Sub CommandButton8_Click()
Sheets("julio").Select
End Sub

Private Sub CommandButton9_Click()
Sheets("mayo").Select
End Sub

Private Sub Fallas_Click()
AGREGARDATOS.Show

End Sub

Private Sub reincidencias5_Click()

End Sub

Private Sub reinsidenciaas_Click()

End Sub

Private Sub reinsidencias_Click()
Sheets("enero2").Select

End Sub

Private Sub reinsidencias10_Click()

End Sub

Private Sub reinsidencias2_Click()
Sheets("febr2").Select
End Sub

Private Sub reinsidencias3_Click()
Sheets("marzo2").Select
End Sub

Private Sub reinsidencias4_Click()
Sheets("abril2").Select
End Sub

Private Sub reinsidencias5_Click()
Sheets("mayo2").Select
End Sub

Private Sub reinsidencias6_Click()
Sheets("junio2").Select
End Sub

Private Sub reinsidencias7_Click()
Sheets("julio2").Select
End Sub

Private Sub reinsidencias8_Click()
Sheets("agos2").Select
End Sub

Private Sub reinsidencias9_Click()
Sheets("sept2").Select
End Sub

Private Sub reinsidenciass_Click()
Sheets("oct2").Select
End Sub

Private Sub reinsidenciasss_Click()
Sheets("nov2").Select
End Sub

Private Sub reinsidenciassss_Click()
Sheets("dic2").Select
End Sub

El código lo veo correcto (sin ser un experto en VBA), lo que ocurre es que si ocultas las hojas no se pueden ver. Le estás ordenando a la máquina que seleccione una hoja (e interiormente lo hace) pero por otro lado esta hoja la tienes oculta y no la ves.

Tendrías que añadir al código no solo que seleccione cada hoja sino que la haga visible y después (para volver a la hoja inicio) tendrías que añadir un botón a cada hoja, ordenando que la oculte y seleccione la hoja inicio (la de los doce botones).

¿Y esos botones que tendré que crear los hago en la misma hoja donde tengo los botones de los meses? ¿O cómo?

me podrías decir exactamente como abusando de tu ayuda y confianza :(

Tendrías que crearlos en cada hoja mensual.

Pero en eso no te puedo ayudar porque no soy experto en VBA

Private Sub mes12_Click()

End Sub

¿YA CREE el botón en la misma carpeta donde están los demás ahí que le pongo?

El botón lo tienes que crear en las hojas de los meses.

Respuesta

H o l a 

te paso macro de enero y febrero, asumiendo que la hoja principal es la Hoja1

Private Sub CommandButton1_Click()
'//Por Adriel Ortiz
'ocultar hojas
Sheets(1).Visible = True
For i = 2 To Sheets.Count
    Sheets(i).Visible = False
Next
Sheets("Enero").Visible = True
Sheets("Enero").Select
End Sub

Private Sub CommandButton1_Click()
'//Por Adriel Ortiz
'ocultar hojas
Sheets(1).Visible = True
For i = 2 To Sheets.Count
    Sheets(i).Visible = False
Next
Sheets("Febr").Visible = True
Sheets("Febr").Select
End Sub

valora la respuesta para finalizar

hola ya con eso cada botón va a funcionar aunque estén ocultas las demás hojas?

Private Sub commandButton1_click()
Sheets("enero").Select
End Sub

Private Sub CommandButton10_Click()
Sheets("agos").Select
End Sub

Private Sub CommandButton11_Click()
Sheets("sept").Select
End Sub

Private Sub CommandButton12_Click()
Sheets("oct").Select
End Sub

Private Sub CommandButton13_Click()
Sheets("dic").Select
End Sub

Private Sub CommandButton15_Click()
Sheets("nov").Select
End Sub

Private Sub CommandButton2_Click()

End Sub

Private Sub CommandButton4_Click()
Sheets("febr").Select
End Sub

Private Sub CommandButton5_Click()
Sheets("abril").Select
End Sub

Private Sub CommandButton6_Click()
Sheets("marzo").Select
End Sub

Private Sub CommandButton7_Click()
Sheets("junio").Select
End Sub

Private Sub CommandButton8_Click()
Sheets("julio").Select
End Sub

Private Sub CommandButton9_Click()
Sheets("mayo").Select
End Sub

Private Sub Fallas_Click()
AGREGARDATOS.Show

End Sub

Private Sub reincidencias5_Click()

End Sub

Private Sub reinsidenciaas_Click()

End Sub

Private Sub mes12_Click()

End Sub

Private Sub reinsidencias_Click()
Sheets("enero2").Select

End Sub

Private Sub reinsidencias10_Click()

End Sub

Private Sub reinsidencias2_Click()
Sheets("febr2").Select
End Sub

Private Sub reinsidencias3_Click()
Sheets("marzo2").Select
End Sub

Private Sub reinsidencias4_Click()
Sheets("abril2").Select
End Sub

Private Sub reinsidencias5_Click()
Sheets("mayo2").Select
End Sub

Private Sub reinsidencias6_Click()
Sheets("junio2").Select
End Sub

Private Sub reinsidencias7_Click()
Sheets("julio2").Select
End Sub

Private Sub reinsidencias8_Click()
Sheets("agos2").Select
End Sub

Private Sub reinsidencias9_Click()
Sheets("sept2").Select
End Sub

Private Sub reinsidenciass_Click()
Sheets("oct2").Select
End Sub

Private Sub reinsidenciasss_Click()
Sheets("nov2").Select
End Sub

Private Sub reinsidenciassss_click()
Sheets("dic2").Select

End Sub

es lo que tengo

Claro, prueba y me comentas de caso contrario avísame.

Si soluciona tus dudas valora la respuesta como Excelente o bueno saludos!

Entiendo que es para 12 botones, y te puse de enero y febrero y para resto solo es para que cambies el nombre del mes. Y lo pones en el botón donde corresponde

Te paso marzo y abril

Private Sub CommandButton6_Click()
'//Por Adriel Ortiz
'ocultar hojas
Sheets(1).Visible = True
For i = 2 To Sheets.Count
    Sheets(i).Visible = False
Next
Sheets("Marzo").Visible = True
Sheets("Marzo").Select
End Sub


Private Sub CommandButton5_Click()
'//Por Adriel Ortiz
'ocultar hojas
Sheets(1).Visible = True
For i = 2 To Sheets.Count
    Sheets(i).Visible = False
Next
Sheets("Abril").Visible = True
Sheets("Abril").Select
End Sub

no olvides de valorar como excelente o bueno 

disculpa mi  ignorancia pero ese código lo coloco en medio de este

Private Sub CommandButton5_Click()
Sheets("abril").Select

( osea en esta parte)??????????????????
End Sub

¿Quedaría así? O estoy en un error

Private Sub CommandButton5_Click()


'//Por Adriel Ortiz
'ocultar hojas
Sheets(1).Visible = True
For i = 2 To Sheets.Count
    Sheets(i).Visible = False
Next
Sheets("Abril").Visible = True
Sheets("Abril").Select
End Sub

Si claro, copia tal como te envié y no agregues otra y prueba

Private Sub CommandButton5_Click()

'

End Sub

Si claro

Muchísimas gracias deja lo hago. ;)

Te faltó valorar al final de mi respuesta hay 2 opciones excelente o bueno valora para finalizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas