Excel - Insertar el nombre de la hoja en una celda
Resuelto/Cerrado
bibidel
-
hugo -
hugo -
Hola,
¿Tendrían el truco para insertar el nombre de la pestaña de una hoja de cálculo de Excel en una celda?
Gracias a todosConfiguración: Windows XP
Internet Explorer 6.0
¿Tendrían el truco para insertar el nombre de la pestaña de una hoja de cálculo de Excel en una celda?
Gracias a todosConfiguración: Windows XP
Internet Explorer 6.0
34 respuestas
- 1
- 2
Siguiente
-
la fórmula que va bien es:
=DERECHA(CELL("nombrearchivo";A1); LARGO(CELL("nombrearchivo";A1))-ENCONTRAR("]"; CELL("nombrearchivo";A1)))
A + -
hola
Sin hacer una macro, es totalmente posible con esta fórmula:para el nombre de la pestaña =EXTRAE(CELDA("nombrearchivo");ENCONTRAR("]";CELDA("nombrearchivo"))+1;20) o bien, por supuesto, se puede reemplazar la longitud 20 calculando la longitud correcta, pero ¿vale la pena el juego? =EXTRAE(CELDA("nombrearchivo");ENCONTRAR("]";CELDA("nombrearchivo"))+1;LARGO(CELDA("nombrearchivo"))-ENCONTRAR("]";CELDA("nombrearchivo"))) para el nombre del libro =EXTRAE(CELDA("nombrearchivo");ENCONTRAR("[";CELDA("nombrearchivo"))+1;ENCONTRAR("]";CELDA("nombrearchivo"))-ENCONTRAR("[";CELDA("nombrearchivo"))-1) y la ruta completa =CELDA("nombrearchivo")
pd: la visualización es incorrecta porque en lugar de &.q.u.o.t.; debería ser "
--
siempre zen-
Estoy interesado en la fórmula:
para el nombre del libro
=EXTRAE(CELDA("nombrearchivo");ENCONTRAR("[";CELDA("nombrearchivo"))+1;ENCONTRAR("]";CELDA("nombrearchivo"))-ENCONTRAR("[";CELDA("nombrearchivo"))-1)
Pero, ¿tienes un truco para quitar la extensión (.xls por ejemplo) que aparece además del nombre del archivo?
Gracias de antemano. -
-
-
Intuitivamente te diría que hagas esta fórmula en cada pestaña en una línea oculta, luego en la pestaña donde quieres verlo todo, haces una tabla que contenga referencias a los contenidos de tus celdas ocultas en cada pestaña...
Pero no soy en absoluto un especialista en Excel, más bien un manitas, así que seguramente hay mejor manera de hacerlo. :)
¡Buena suerte,
Galileo! -
Hola,
¿No hay un problema con la fórmula para el nombre de la pestaña?
La he utilizado para un archivo con varias pestañas y parecía funcionar bien, excepto que me di cuenta de que en realidad toma la última pestaña abierta. Entonces, si vuelves a la pestaña donde está la fórmula, toma en cuenta la pestaña anterior.
¿Una solución? ¿Configuración?
-
-
Hola Seb,
Aquí está la fórmula que funciona en una celda, me parece que corresponde a su "felicidad":
=EXTRAE(CELL("nombrearchivo";A1);ENCONTRAR(""]"";CELL("nombrearchivo";A1))+1;20)
A +
Bibidel -
Hola,
Para que la fórmula funcione en un libro con varias hojas, es necesario hacer referencia a una celda de la hoja
=EXTRAE(CELDA("nombrearchivo";B1);ENCONTRAR("]";CELDA("nombrearchivo";B1))+1;LARGO(CELDA("nombrearchivo";B1))-ENCONTRAR("]";CELDA("nombrearchivo";B1))) -
Has hecho exactamente lo que había que hacer, añadir la referencia de celda que es opcional, y así apuntas a una celda de tu hoja (en lugar de la hoja activa...).
Puedes dejar A1 en cada fórmula (sin relación entre el 2 de A2 y el 2 de feuil2) y por lo tanto no hay que hacer ninguna incrementación, es la misma fórmula en todas las hojas.
Y añádelo también en la primera CELDA(...;A1) para que quede más limpio.
eric -
Hola,
De acuerdo en general con dandan, y para tener la pestaña activa y no más la hoja 1, necesitarías:
Cells(1, 1) = ActiveSheet.Name
y para tener todos los nombres hay que hacer un bucle:
Sub nom()
For Each sh In Sheets
i = i + 1
Cells(i, 1) = sh.Name
Next sh
End Sub
De lo contrario, es posible con una fórmula siempre que estés en otra hoja:
por ejemplo, en Feuil2 escribir:
=CELDA("dirección";Feuil1!A2) => [Classeur1]Feuil1!$A$2
Resta tratar la cadena para extraer su nombre.
eric -
hola
funciona bien, es totalmente posible con esta fórmula que da
el nombre de la pestaña
=EXTRAE(CELL("nombrearchivo");ENCONTRAR("]";CELL("nombrearchivo"))+1;20)
o bien es posible reemplazar la longitud 20 calculando la longitud correcta, pero ¿vale la pena el esfuerzo?
como sigue;
=EXTRAE(CELL("nombrearchivo");ENCONTRAR("]";CELL("nombrearchivo"))+1;LARGO(CELL("nombrearchivo"))-ENCONTRAR("]";CELL("nombrearchivo")))
y la ruta completa
=CELL("nombrearchivo -
Buenas noches,
Respuesta al post 54.
Para listar todos los nombres de las pestañas, el libro debe estar guardado primero y luego:
"inserción / nombre / definir..."
'nombre en el libro :' nom_hojas
'Hace referencia a :' =ALEA()*0&TRANSPOSE(LER.LIBRO(1))
Validar
En la línea 1 de una hoja ingresar:
=EXTRAE(INDICE(nom_hojas;FILA());ENCONTRAR("]";INDICE(nom_hojas;FILA()))+1;30)
a copiar hacia abajo.
Los #REF! de las hojas inexistentes pueden eliminarse mediante una prueba adicional si es necesario (pero esto complicaría la fórmula)
eric -
hola
Funcionan bien, pero hay un error de visualización en el sitio: mira el PS
Hay que reemplazar "&.q.u.o.t.;" (los puntos intercalados para visualización) por comillas simples.
Voy a intentarlo de nuevo=EXTRAE(CELL("nombrearchivo");ENCONTRAR(""[";CELL("nombrearchivo"))+1;ENCONTRAR(""]";CELL("nombrearchivo"))-ENCONTRAR(""[";CELL("nombrearchivo"))-1)
PS: sigue sin funcionar... se pasa a dos líneas y hay que agrupar las dos en la misma celda
--
siempre zen -
Hola
Aquí hay una pequeña función VBA personalizada
Function SheetName() As String
Application.Volatile
SheetName = Application.Caller.Parent.Name
End Function -
Gracias de nuevo a Eric y gbinforme
Así es como he resuelto mi problema puntualmente, pero busco algo mejor:
No es excelente, pero no sé cómo incrementar (sin macros) el n° de la hoja en el libro, así que, para cada celda de cada hoja, modifico la fórmula cambiando ("nombrearchivo",A1) para la hoja 1 ("nombrearchivo",A2) para la segunda, etc...
Lo importante es no mover las hojas.....
=EXTRAI(CELDA("nombrearchivo");ENCONTRAR("]";CELDA("nombrearchivo";A1))+1;20) para la hoja 1
=EXTRAI(CELDA("nombrearchivo");ENCONTRAR("]";CELDA("nombrearchivo";A2))+1;20) para la hoja 2
y así sucesivamente...
Hasta pronto
Bibidel -
La fórmula es la siguiente para escribir en la celda de destino.
=EXTRAE(CELL(''nombrearchivo'';A1);ENCONTRAR('']'';CELL(''nombrearchivo'';A1))+1;20)
20 corresponde al número máximo de caracteres del nombre de la pestaña, se le puede dar el valor que se desee.
Bididel -
Buenas noches,
¿Puedo jugar también?
=EXTRAE(CELL("nombrearchivo";A1);ENCONTRAR("]";CELL("nombrearchivo";A1))+1;20)
Curiosamente, esta fórmula es exactamente la misma que la tuya bibidel, pero si copio/pego la tuya también tengo un error (¿¿?)
No dejo de mirar y no veo la diferencia. Sí, una muy pequeña en la longitud como si un carácter fuera ligeramente más ancho...
Así que la he pegado como código. Si aún hay problemas, le aconsejo a SebastienC44 que vuelva a escribir en Excel lo que hay entre las "..." incluyendo las ", incluso para "[". A priori, ahí es donde fallan las cosas.
Raro, raro...
eric-
-
Hola
al consultar las resoluciones del foro (para intentar mejorarme) he intentado por mi parte responder a la
pregunta de bibbel, en mi caso funciona con esto:
Private Sub Worksheet_Activate()
[a1] = ActiveSheet.Name
End Sub
¿pueden decirme si esta solución responde al post n° 1 de bibbel y si es incongruente con respecto a las soluciones aportadas?
gracias y hasta luego
-
-
Sí, seguramente hay una configuración en alguna parte (¿Word?) que lo convierte.
-
=EXTRAE(CÉL.GB("nombrearchivo";A1);ENCONTRAR("]";CÉL.GB("nombrearchivo";A1))+1;20)
Esta fórmula no funciona en Microsoft Office 2007,
Esta sí...
=EXTRAE(CÉL.GB("nombrearchivo",A1),ENCONTRAR("]",CÉL.GB("nombrearchivo",A1))+1,20) -
¡GRACIAS Ériiiiiiiiic! ¡Qué simple parece la vida, después!
-
Hola,
he revisado su conversación pensando que había encontrado lo que buscaba:
estoy buscando una función que me permita mostrar en cualquier celda de mi hoja el nombre de la pestaña de dicha hoja.
He copiado la fórmula proporcionada, pero no funciona. ¿He comprendido bien el interés de su fórmula? Si es así, ¿por qué no funciona? De lo contrario, ¿es posible hacer lo que deseo?
muchas gracias,
seb-
Buenas noches seb,
La fórmula es la siguiente, debes escribirla en la celda de destino y debe corresponder a tu "felicidad"
=EXTRAE(CELL('nombrefichero';A1);ENCONTRAR(']';CELL('nombrefichero';A1))+1;20)
20 corresponde al número máximo de caracteres del nombre de la pestaña, se le puede asignar el valor que se desee.
A +
Bibidel -
-
Confirmo la observación de bibidel que dice que no funciona cuando se pega este tipo de fórmula en varias pestañas del mismo libro.
Concretamente, quiero ver por ejemplo en la celda A1 de cada pestaña, el nombre de la pestaña.
Si pego la fórmula =DERECHA(...) o la fórmula =EXTRAE(...) en cada una de las pestañas, veré que se muestra el mismo valor en todas partes, en este caso el nombre de la pestaña desde la cual activé la tecla F9 de recálculo.
Por lo tanto, esta fórmula no responde a la necesidad en la configuración que he descrito. -
-
-
-
La fórmula es la siguiente para introducir en la celda de destino
=EXTRAE(CELL(''nombrearchivo'';A1);ENCONTRAR('']'';CELL(''nombrearchivo'';A1))+1;20)
20 corresponde al número máximo de caracteres del nombre de la pestaña, se le puede asignar el valor que se desee.
Bibidel -
¡De acuerdo Eriiic! pssssssss estoy desenmascarado/a
¡Hasta luego! -
Hola y gracias por sus numerosas respuestas. He copiado la fórmula en una celda de la hoja1, pero no funciona (#VALOR!). Luego leí que había que copiar todo lo que estaba entre """", pero sigue sin funcionar.
¿Hay algún truco que se me escape?
--
Seb
- 1
- 2
Siguiente