Hojas de cálculo en Excel - página principal

Obtener el nombre de una hoja de excel

En una entrega anterior, vimos como obtener el nombre de un archivo de excel, es decir, el nombre de un libro de excel. En esta ocasión veremos como obtener el nombre de la hoja de cálculo activa, es decir, aquella hoja de cálculo con la que estemos trabajando.

La fórmula es muy parecida a la del ejemplo del libro. Tan solo deberemos copiar y pegar literalmente, esta fórmula en cualquier celda de la hoja de cálculo (debe ir toda la fórmula en una misma línea, aunque aquí está en dos para que no haya problemas de visualización con Firefox, ya que al parecer, la fórmula se sale de la pantalla):


=EXTRAE(CELDA("nombrearchivo";A1);ENCONTRAR("]";CELDA("nombrearchivo";A1))+1;LARGO(CELDA("nombrearchivo";A1))-ENCONTRAR("]";CELDA("nombrearchivo";A1)))

Como en el caso anterior, cuando queríamos obtener el nombre del fichero de excel, en este caso que queremos obtener el nombre de la hoja activa, es imprescindible que el libro de excel esté previamente guardado, es decir, esta fórmula no nos funcionará si no grabamos previamente el fichero en el disco duro.

Como veis, facilito, rápido, y para toda la familia ;-)

Nota: La formula ha sido revisada por sugerencia de un lector del blog, y adaptada según su propuesta.



16 comentarios:

Anónimo dijo...

Muy útil para no perder el origen del documento impreso y permite usar el encabezado y pie de página para otra inf.

Gracias

UnWell dijo...

Saludos, me sirvio bastante.

Una duda, como puedo obtener el nombre de las demas hojas y no solo de la hoja activa.

Unknown dijo...

Realmente útil y fácil.
Muchas gracias.

Anónimo dijo...

Recuerden que en ocasiones la fórmula está en Excel con una com "," y no con punto y coma ";". Si no trabaja con un simbolo es con el otro.

Salomon dijo...

Julio:

Para el nombre de las demás hojas haces lo mismo en cada hoja y en la que quieres tener toda la información solo pones el = a la celda en cada hoja que tiene el nombre.

Unknown dijo...

Solo hay dos comentarios hay que cambiar los punto y comas por solo comas

=EXTRAE(CELDA("nombrearchivo",A1),ENCONTRAR("]",CELDA("nombrearchivo",A1))+1,100)

Javier Marco dijo...

Depende de cual sea la configuración regional de tu sistema. Si tu separador decimal es la coma, hay que utilizar el punto y coma. Mientras que si tu separador decimal es el punto, entonces hay que utilizarlo de la forma como comentas, con coma.

Lo mismo ocurre con el resto de fórmulas de Excel.

Oscar dijo...

Hola, si quieren ver todas las hojas que existen en un libro, con este código que pongo a continuación lo pueden hacer...

Deben crear antes una hoja nueva que se llame "NombreHojas", ejecutan la macro y listo.

Sub testNombres()
Dim objHojas As Worksheet
Dim i As Integer
i = 1

For Each objHojas In Worksheets

'MsgBox objHojas.Name

Worksheets("NombreHojas").Cells(i, 1) = objHojas.Name

i = i + 1

Next objHojas

End Sub


Espero les sirva.

Anónimo dijo...

Hola, me permito hacer una pequeña correcion en la formula, respecto a la longuitud del nombre de la hoja.

Con la expresion:
;CELDA("nombrearchivo";A1))-ENCONTRAR("[";CELDA("nombrearchivo";A1))-1
solo se obtiene la longuitud del nomre del libro en el que se trabaja

La solucion:
;LARGO(CELDA("nombrearchivo";A1))-ENCONTRAR("]";CELDA("nombrearchivo";A1))
De esta forma se obtiene el numero de caracteres del nombre de la hoja actual.

la formula final:

=EXTRAE(CELDA("nombrearchivo";A1);ENCONTRAR("]";CELDA("nombrearchivo";A1))+1;
LARGO(CELDA("nombrearchivo";A1))-ENCONTRAR("]";CELDA("nombrearchivo";A1))).

Hasta luego

Javier Marco dijo...

Gracias por la aportación. Ahora mismo lo modifico, siguiendo tu sugerencia.

Anónimo dijo...

excelenteee!!!
Gracias!

Anónimo dijo...

Esta podría ser otra opción

=+DERECHA(CELDA("NOMBREARCHIVO";A1);LARGO(CELDA("nombrearchivo";A1))-ENCONTRAR("]";CELDA("nombrearchivo";A1)))

Javier Marco dijo...

Gracias por tu aportación :-)

JuanPa dijo...

Les cuento que cuando el nombre de la hoja tiene un espacio no funciona. Prueben con esta modificación:
=EXTRAE(CELDA("nombrearchivo";A1);ENCONTRAR("]";CELDA("nombrearchivo";A1))+1;LARGO(CELDA("nombrearchivo";A1))-ENCONTRAR("]";CELDA("nombrearchivo";A1))+1)

vitorique dijo...

Una nueva opción: más corta.
=EXTRAE(CELDA("nombrearchivo",A1),ENCONTRAR("]",CELDA("nombrearchivo",A1))+1,99)
¡Pruébenla!. Saludos

Anónimo dijo...

Muchas gracias¡ sobre todo por el código de seleccionar el nombre de todas las hojas me ha sido de mucha ayuda¡