Número de hoja

01/08/2005 - 19:46 por Leo | Informe spam
Buenos dias grupo.

Existe alguna función que me indique el número de hoja de un libro de excel?

Preguntas similare

Leer las respuestas

#1 KL
01/08/2005 - 23:02 | Informe spam
Hola Leo,

Op.1: Usando XLM (Excel Macros 4)

1) ve al menu Insertar>Nombre>Definir
2) escribe el nombre MATRIZHOJAS, en vez de una referencia asignale la
siguiente formula: =INDICAR.LIBRO(1), pulsa Anadir, pulsa Aceptar.
3) suponiendo que en la celda [A1] tienes el nombre de la hoja cuyo numero
quieres encontrar, pon la siguiente formula en la celda [B1]:
=COINCIDIR("*]"&A1;MATRIZHOJAS;0)+HOY()*0

La funcion HOY() esta para q la formula sea volatil y se actualize en
tiempo real. El resultado se actualiza automaticamente al recalcularse
las formulas.
Nota: Aunque yo personalmente no he tenido ningun problema con XLM, los hay
quienes afirman que bajo XL97 o 2000 estos macros pueden a veces provocar el
fallo y cierre de Excel con la perdida de todos los datos no guardados (
http://tinyurl.com/49oqa )

Op. 2: Usando Macros en VBA (Visual Basic for Applications)

1) Haz clic-derecho sobre el nombre de cualquier hoja en una de las pestañas
de la parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el Editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo
4) En la ventana mas grande a la derecha pega el codigo que te pongo a
continuacion:

'--Inicio Codigo-
Function HojaNumero(Hoja As String) As Long
Application.Volatile
HojaNumero = Worksheets(Hoja).Index
End Function
'--Fin Codigo-

5) Pulsa Alt+F11 para volver a la hoja
6) si tienes el nombre de hoja en la celda [A1], entonces introduce la
siguiente formula en las celda [B1]:
=HojaNumero(A1)

Un pequeno problema - ambas formulas no se actualizan automaticamente al
insertar nueva hoja
(si - al eliminarlas o cambiar de orden), es necesario un recalculo de
formulas adicional.

Si no existe la hoja con el nombre indicado en la celda [A1] la primera
formula devolvera el error #N/A y la segunda #VALOR!


Saludos,
KL


"Leo" wrote in message
news:
Buenos dias grupo.

Existe alguna función que me indique el número de hoja de un libro de
excel?

Respuesta Responder a este mensaje
#2 KL
01/08/2005 - 23:23 | Informe spam
Hola Hector,

En primer lugar gracias por tu "feedback" en el hilo "listview" :-)

Un par de cosas sobre la funcion que recomiendas:

Public Function numerodehoja(nomhoja As String)
numerodehoja = Worksheets(nomhoja).Index
End Function



1) Si no icluyes la instruccion Application.Volatile en tu funcion, esta
pasara por alto el cambio de orden o eliminacion de hojas hasta el proximo
recalculo de formulas.
e una funcion
2) Salvo estrictamente necesario, es recomendable no dejar el tipo de dato
del resultado de una funcion sea Variant (por omision) para reducir el uso
de la memoria. En este caso se puede perfectamente declararlo como Integer o
Long (mi preferido), asi:

Public Function numerodehoja(nomhoja As String) As Long
Application.Volatile
numerodehoja = Worksheets(nomhoja).Index
End Function

Saludos,
KL
Respuesta Responder a este mensaje
#3 Leo
01/08/2005 - 23:47 | Informe spam
Muchas gracias, me quede con la Op 1.

Y para que me coloque el número de página, existe una fórmula ??




"KL" escribió en el mensaje
news:
Hola Leo,

Op.1: Usando XLM (Excel Macros 4)

1) ve al menu Insertar>Nombre>Definir
2) escribe el nombre MATRIZHOJAS, en vez de una referencia asignale la
siguiente formula: =INDICAR.LIBRO(1), pulsa Anadir, pulsa Aceptar.
3) suponiendo que en la celda [A1] tienes el nombre de la hoja cuyo numero
quieres encontrar, pon la siguiente formula en la celda [B1]:
=COINCIDIR("*]"&A1;MATRIZHOJAS;0)+HOY()*0

La funcion HOY() esta para q la formula sea volatil y se actualize en
tiempo real. El resultado se actualiza automaticamente al recalcularse
las formulas.
Nota: Aunque yo personalmente no he tenido ningun problema con XLM, los
hay quienes afirman que bajo XL97 o 2000 estos macros pueden a veces
provocar el fallo y cierre de Excel con la perdida de todos los datos no
guardados ( http://tinyurl.com/49oqa )

Op. 2: Usando Macros en VBA (Visual Basic for Applications)

1) Haz clic-derecho sobre el nombre de cualquier hoja en una de las
pestañas de la parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el Editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo
4) En la ventana mas grande a la derecha pega el codigo que te pongo a
continuacion:

'--Inicio Codigo-
Function HojaNumero(Hoja As String) As Long
Application.Volatile
HojaNumero = Worksheets(Hoja).Index
End Function
'--Fin Codigo-

5) Pulsa Alt+F11 para volver a la hoja
6) si tienes el nombre de hoja en la celda [A1], entonces introduce la
siguiente formula en las celda [B1]:
=HojaNumero(A1)

Un pequeno problema - ambas formulas no se actualizan automaticamente al
insertar nueva hoja
(si - al eliminarlas o cambiar de orden), es necesario un recalculo de
formulas adicional.

Si no existe la hoja con el nombre indicado en la celda [A1] la primera
formula devolvera el error #N/A y la segunda #VALOR!


Saludos,
KL


"Leo" wrote in message
news:
Buenos dias grupo.

Existe alguna función que me indique el número de hoja de un libro de
excel?





Respuesta Responder a este mensaje
#4 hector barajas
01/08/2005 - 23:48 | Informe spam
En codigo visual basic para la hoja activa seria

activesheet.index

O en una hoja por su nombre seria

worksheets("hoja2").index

Si lo que quieres es una funcion para utilizarla en la hoja de calculo
podrias crear alguna funcion personalizada en un modulo de visual basic.

Public Function numerodehoja(nomhoja As String)
numerodehoja = Worksheets(nomhoja).Index
End Function

y luego insertarla en excel buscandola desde las funciones personalizadas.




"Leo" escribió en el mensaje
news:
Buenos dias grupo.

Existe alguna función que me indique el número de hoja de un libro de


excel?


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida