Activar la primera hoja de un libro abierto

11 envíos / 0 nuevos
Último envío
argacha
Imagen de argacha
Offline
última acción: Hace 1 año 7 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 10/01/2007 - 08:28
Puntos: 1982
Activar la primera hoja de un libro abierto

Buenas tardes

En una macro de Excel necesito activar la primera hoja de un libro que la misma macro abre se llame como se llmame la primera hoja.

 

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Re: Activar la primera hoja de un libro abierto

En ThisWorkbook le das DblClick y en la ventana que t abre insertas esto

Private Sub Workbook_Open()
Hoja1.Select
End Sub

 

Al abrir el libro siempre te abrirá en esa hoja1

Hoja1 es nombre interno. Sopone que tu Hoja1 tiene nombre de pestaña argacha eso es nombre externo, para que puedas o alguien te cambie nombre de la pestaña sin que interfiera en el codigo, usa el nombre de codigo (interno)

juandudas
Imagen de juandudas
Offline
última acción: Hace 1 año 7 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 27/12/2006 - 23:36
Puntos: 2588
Re: Activar la primera hoja de un libro abierto

yo no tengo Hoja1, supongo que la borré o algo así.

mis hojas empiezan en la Hoja3

mi cabeza es un mar de dudas

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Re: Activar la primera hoja de un libro abierto

ok.

en el editor VBA de excel, tyienes de llado izquierdo el arbol de hojas, formularios y modulos, llamada Explorador de proyectos

Por debajo donde dice Microsofty Excel objetos. lo primero son las hojas

 

¿Que hojas te marca ahí Ej.

Hoja1(argacha)

Hoja2(JoaoM)

Hoja3(xxxxx)

 

Hoja x es su nombre interno, (argacha) es su nombre externo el que tiene en la pestaña.

Quieres que al abrir el libro, te abra la hoja (JoaoM)

coloca donde te dice antes

 

Private Sub Workbook_Open()
Sheets(2).Select
End Sub

o

Private Sub Workbook_Open()
Hoja2.Select
End Sub

 

El que tengas o no Hoja1, no importa, coloca la hoja que tu quiers que se active al abrir el libro

argacha
Imagen de argacha
Offline
última acción: Hace 1 año 7 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 10/01/2007 - 08:28
Puntos: 1982
Re: Activar la primera hoja de un libro abierto

El probelmas es que no sé cómo va el libro que me va a venir.

No sé si el operario ha borrado o no una hoja antes como dice Juandudas. No sé si cada día vendrá la hoja con la fecha como nombre. No sé cual será su nombre externo ni su nombre interne.

Quiero que active la primera hoja que tenga el libro sin tener que mirar yo cual es.

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Re: Activar la primera hoja de un libro abierto

Pues si, si colocas Hoja1, puede que su nombre interno no exista Hoja1 ect ect.

 

Si usas su nombre externo, peor aun porque puede que le camien su nombre de pestaña.

¿Como vas a saber tu que nombre interno o externo trae?

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 11 horas 55 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Activar la primera hoja de un libro abierto

Yo utilizaría la opción que propone JoaoM más arriba, la que utiliza el número de índice en vez de el nombre de la hoja

Sheets(1)

esa es la primera hoja que trae tu libro, se llame como se llame.

 

------
Ya sé Excel, pero necesito más.

argacha
Imagen de argacha
Offline
última acción: Hace 1 año 7 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 10/01/2007 - 08:28
Puntos: 1982
Re: Activar la primera hoja de un libro abierto

OK.

Estoy utilizando Sheets(1) y afectivamente, me abre la primera hoja que trae abierta el libro , se llame como se llame y sea la hoja que sea.

gracias a los dos

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Re: Activar la primera hoja de un libro abierto

Te corrijo: No es que sea la hoja que sea, es la hoja1 que es la que está en la linea de Open.

Auque guardes el libro con la hoja200 abierta, al volver a abrir el libro este abrirá en la Hoja1 Shets(1).

¿Cual seria el problema tuyo si le cambias de nombre interno? es que al brir el libro te dá error y ahí que brincas como un mono sin saber que hacer.

Te explico algo para si usas el nombre externo de la hoja.

Cambies el nombre en la pestaña para el que cambies, el libro al cerrarse(o abrirse) SIEMPRE contendrá el nombre original de la pestaña con esta linea;

Al cerrarse el libro, un segundo antes volverá a su nombre inicial la pestaña

 

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Esto se ejecutará justo unos instantes antes de guardar el fichero y cerrar
If Hoja1.Name <> "Trabajo" Then Hoja1.Name = "Trabajo"
End Sub

 

Hoja1 (nombre interno)

 "Trabajo" (nombre externo (pestaña))

 

Podria ser tambien en el evento Open

Al abrir el libro si se guardo con otro nombre en la pestaña, esta volverá al primitivo (Trabajo)

 

Private Sub Workbook_Open()

If Hoja1.Name <> "Trabajo" Then Hoja1.Name = "Trabajo"

End Sub

 

Esto  es mui util cuando se tiene codigo que haga referencia a hojas, porque puede que sea otra persona a abrir el libro y no le guste el nombre de la pestaña y lo cambie, al cambiarlo si se usa el nombre externo se daña el codigo auqnue tengas el nombre interno si lo cambias pero ya es mas dificil hacerlo si tienes su codigo protegido lo mas seguro es usar su nombre interno

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Activar la primera hoja de un libro abierto

Lo único malo que veo de esto, Joao, es que si se elimina la hoja1, ya no habrá hoja1, por lo que el código dará error.

Sin embargo, si te refieres a Sheets(1), siempre habrá una hoja que será la primera.

 

 

Saludos

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Re: Activar la primera hoja de un libro abierto

Claro, toda la razon y para evitar eso, siempre uso el nombre interno; Hoja1 (español) Sheets(1) (ingles)

pero puedes hacer linea macro para que al eliminar alguna hoja, te diga: "No permitido eliminación"

 

Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)

ThisWorkbook.Protect Structure:=True

MsgBox "No es posible eliminar la hoja"

End Sub

o al insertar nueva hoja

Private Sub Workbook_NewSheet(ByVal HojaNueva As Object)

Application.DisplayAlerts = False

MsgBox "No se permite adicionar mas hojas en este libro."

HojaNueva.Delete

Application.DisplayAlerts = True

End Sub

Inf http://www.gerencie.com/30-macros-utiles-y-sencillas-impedir-eliminar-hoja.html

En este enlace se puede ver varios temas sobre hojas.

Siemprebusco via S. Goolge porque no se como formar codigo, lo BASICO que se es así, buscando en elguna parte

 

Pero cuidado, no praticar en algun libro de trabajo, para eso abrir (crear) nuevo libro ¿porque? porque al tener las macros, estas aunque se quiten la macros luego no dejan eliminar ninguna hoja, para eso debes ir a Revisar/Proteger libro y desactivarle la casila que estará activada, cancelas y listo, cierras guardando cambios y vuelves a abrir y ya podras eliminar la hoja creada