Iniciar siempre un libro en una misma hoja y una celda especificada

02/08/2003 - 00:01 por Pedro Pablo Anteliz | Informe spam
Hola a todas las personas de este foro, mi inquietud es la siguiente,
quisiera saber cual es la forma para hacer que cada vez que abra un libro de
excel
se ubique en una hoja y una celda predeterminada.
Agradezco toda la colaboración de antemano.

Pedro Pablo Anteliz

Preguntas similare

Leer las respuestas

#1 Cotarelo63
02/08/2003 - 00:48 | Informe spam
Pega el siguiente código en la página de código del objeto Thisworkbook

Private Sub Workbook_Open()
Sheets("NombreHoja").Activate
activesheet.range("A1").SELECT

End Sub

Lógicamente debes sustituir NombreHoja por el nombre de la hoja que quieres
que aparezca al abrir el libro, y A1 por la celda donde quieres que se
sitúe.
Saludos

Juan Carlos Pérez
Asturias-España



"Pedro Pablo Anteliz" escribió en el mensaje
news:upp$
Hola a todas las personas de este foro, mi inquietud es la siguiente,
quisiera saber cual es la forma para hacer que cada vez que abra un libro


de
excel
se ubique en una hoja y una celda predeterminada.
Agradezco toda la colaboración de antemano.

Pedro Pablo Anteliz


Respuesta Responder a este mensaje
#2 César
03/08/2003 - 10:29 | Informe spam
"Cotarelo63" wrote in
news:#Dp$:

Pega el siguiente código en la página de código del objeto
Thisworkbook

Private Sub Workbook_Open()
Sheets("NombreHoja").Activate
activesheet.range("A1").SELECT

End Sub




y si el nombre de la hoja lo puede modificar el usuario final del
documento, por lo que al escribir el código no sabemos qué nombre va a
tener? ¿hay alguna forma de escribir por código 'la segunda hoja' sin
indicar el string que contiene su nombre?

Un saludo
Respuesta Responder a este mensaje
#3 Cotarelo63
03/08/2003 - 11:01 | Informe spam
Si, efectivamente, la hoja también se designa por el número índice, es
decir, por el número de la posición que ocupa contando las hojas desde la
izquierda. Por tanto, puedes designar a la hoja como:

Worksheet(1)
sustituyendo el 1 por el número de la hoja que desees.
Pero también el usuario final puede cambiar el orden de las hojas, igual que
el nombre de las mismas, en cuyo caso la hoja que se abrirá al abrir el
libro será otra.
Para evitar eso, puedes ocultar las pestañas de las hojas
(HERRAMIENTAS-OPCIONES-VER) y poner macros que te lleven de una hoja a otra.
Prueba también a proteger el libro. Quizás de esta forma no se puedan
alterar ni el orden ni el nombre de las hojas.

Saludos

Juan Carlos Pérez


"César" escribió en el mensaje
news:
"Cotarelo63" wrote in
news:#Dp$:

> Pega el siguiente código en la página de código del objeto
> Thisworkbook
>
> Private Sub Workbook_Open()
> Sheets("NombreHoja").Activate
> activesheet.range("A1").SELECT
>
> End Sub
>

y si el nombre de la hoja lo puede modificar el usuario final del
documento, por lo que al escribir el código no sabemos qué nombre va a
tener? ¿hay alguna forma de escribir por código 'la segunda hoja' sin
indicar el string que contiene su nombre?

Un saludo

Respuesta Responder a este mensaje
#4 Héctor Miguel
03/08/2003 - 11:08 | Informe spam
¿Que tal, chicos?

> Juan Carlos Perez escribió en el mensaje
> Pega el siguiente código en la página de código del objeto Thisworkbook
> Private Sub Workbook_Open()
> Sheets("NombreHoja").Activate
> ActiveSheet.Range("A1").Select
> End Sub

César escribió en el mensaje
y si el nombre de la hoja lo puede modificar el usuario ... por lo que al escribir el código no sabemos qué nombre va a tener?
¿hay alguna forma de escribir por código 'la segunda hoja' sin indicar el string que contiene su nombre?



==> Podrias cambiar => "Sheets("NombreHoja").Activate => a: => WorkSheets(2).Activate => "pero..."
Tambien existe la posibilidad de que el usuario MUEVA (de posicion) "la hoja" y... => la misma historia <= :((
(Te lo acaba de confirmar Juan Carlos)

==> Un dato adicional: Por omision, Excel abre un libro EN LA HOJA (y celda) donde "quedo guardado"

==> (Creo que) seria mejor usar un nombre UNICO EN EL LIBRO (en "esa" hoja) y usar el evento _Open (o _BeforeClose) +/- así.
(suponiendo que "esa" celda EN "esa" hoja se llamara => "Mi_Rango")
Application.Goto "Mi_Rango"
_______
Saludos,
Héctor.
MS-MVP
Respuesta Responder a este mensaje
#5 César
03/08/2003 - 12:11 | Informe spam
"Cotarelo63" wrote in
news::

Si, efectivamente, la hoja también se designa por el número índice, es
decir, por el número de la posición que ocupa contando las hojas desde
la izquierda. Por tanto, puedes designar a la hoja como:

Worksheet(1)
sustituyendo el 1 por el número de la hoja que desees.
Pero también el usuario final puede cambiar el orden de las hojas,
igual que el nombre de las mismas, en cuyo caso la hoja que se abrirá
al abrir el libro será otra.
Para evitar eso, puedes ocultar las pestañas de las hojas
(HERRAMIENTAS-OPCIONES-VER) y poner macros que te lleven de una hoja a
otra. Prueba también a proteger el libro. Quizás de esta forma no se
puedan alterar ni el orden ni el nombre de las hojas.

Saludos

Juan Carlos Pérez





Gracias, Worksheet(1) es justo lo que necesitaba. En lo posible, procuro
evitar proteger, ocultar cosas, o reducir funcionalidad al usuario;
muchas veces eso evita que detecten mis posibles errores o incluso que
mejoren mis soluciones.

Avisaré de que si cambian el orden de las hojas puede dejar de funcionar
correctamente la aplicación :)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida