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
Por macros te refieres a una hoja con doce botones que ejecutan código VBA
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
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?
Tendrías que crearlos en cada hoja mensual.
Pero en eso no te puedo ayudar porque no soy experto en VBA
- Compartir 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
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
- Compartir respuesta