Saltar al contenido

Listar hojas de libro (con formulas)


Gerson Pineda

Recommended Posts

Hola

En el archivo adjunto podran ver como con "formulas", es posible "listar" todas las hojas de un libro, ver su posicion y el total de las mismas

Espero que les guste y lo mas importante que sirva;)

Saludos desde Honduras

Listar hojas de libro (con formula).zip

Enlace a comentario
Compartir con otras webs

Hola Gerson:

Que conste que tu has lanzado el primer ataque.

Mira que os gusta complicaros la vida, con lo fácil que es:

Sub Hojas()
For x = 1 To Worksheets.Count 'Bucle de 1 hasta nº de hojas
Cells(x + 1, 5) = Worksheets(x).Name 'Nombre de la hoja
Cells(x + 1, 6) = Worksheets.Count 'Nº total de hojas
Cells(x + 1, 7) = x 'Posición de la hoja
Next
End Sub
[/CODE]

Comparado con tener que escribir esta barbaridad:

[b][color=red]=SI(ESERROR(EXTRAE(INDICE(hojasdelibro;;FILAS($A$1:A2));ENCONTRAR("]";INDICE(hojasdelibro;;FILAS($A$1:A2));1)+1;31));"";EXTRAE(INDICE(hojasdelibro;;FILAS($A$1:A2));ENCONTRAR("]";INDICE(hojasdelibro;;FILAS($A$1:A2));1)+1;31))[/color][/b]

Reconócelo, si hasta tu mismo te sonrojas de la vergüenza. jejeje.

¡¡¡¡ Serán bienvenidos a Macroland todos los desertores de Formuland !!!

Saludos

Enlace a comentario
Compartir con otras webs

=SI(ESERROR(EXTRAE(INDICE(hojasdelibro;;FILAS($A$1:A2));ENCONTRAR("]";INDICE(hojasdelibro;;FILAS($A$1:A2));1)+1;31));"";EXTRAE(INDICE(hojasdelibro;;FILAS($A$1:A2));ENCONTRAR("]";INDICE(hojasdelibro;;FILAS($A$1:A2));1)+1;31))

Buenas chicos.

Antoni,

en realidad la formula es algo mas larga y aun que no funcione sin rangos personalizados la pongo completa:

=SI(ESERROR(EXTRAE(INDICE((INDICE((INDICAR.DOCUMENTO(87+AHORA()*0));));;FILAS($A$1:A5));ENCONTRAR("]";INDICE((INDICE((INDICAR.DOCUMENTO(87+AHORA()*0));));;FILAS($A$1:A5));1)+1;31));"";EXTRAE(INDICE((INDICE((INDICAR.DOCUMENTO(87+AHORA()*0));));;FILAS($A$1:A5));ENCONTRAR("]";INDICE((INDICE((INDICAR.DOCUMENTO(87+AHORA()*0));));;FILAS($A$1:A5));1)+1;31))
Yo me considero mas Macroniano que Formuliano pero en este caso tengo que darle la enhorabuena a Gerson por la magnifica funcion, poder haber hecho eso sin macros tiene su comedura de cabeza. A veces hay que felicitar a los galos por su brebaje que en este caso nos ha preparado el gran druida Gerson de la aldea de los Galos. Tu macro bastante simplificada como siempre.

Gerson, muy buena formula, compleja y rotunda. Un dia tendremos que hacer una visita a la aldea para que nos des un poco de poción.

Saludos

Enlace a comentario
Compartir con otras webs

Antoni!

Solo para que notes que no todo es macro jajaja, ademas tu codigo es bastante conocido por internet y por aqui en el foro, solo quiero demostrar que las formulas no estan de sobra y que muchas veces nos alucinan

Verzulsan gracias por valorar el aporte, yo no soy macro ni formula, me agrada conjugarlas, y la verdad me asombro como combinando, todo en Excel, digamos que no hay fronteras, mas las que nos ponemos nosotros mismos

Saludos a todos y que viva Excel jeje

Enlace a comentario
Compartir con otras webs

Jajaja, me he reido un rato antoni con el archivo.

Te dejo aqui otra forma que se me ha ocurrido para contar caracteres de las formulas, espero que te mole ;)

Sub hola()
For Each x In ActiveSheet.UsedRange
z = z + Len(x.Formula) * x.HasFormula
Next
MsgBox Abs(z)
End Sub[/CODE]

Saludos!

Enlace a comentario
Compartir con otras webs

Antoni y Verzulsan, me parece que para ser MACRONIANOS de corazón o son muy jóvenes o tienen que investigar mas o les ataca el mal de alzhéimer. La fórmula que propone Gerson es en realidad un hibrido de Macro y formula.

La creación del nombre (hojasdellibro) esta efectuado con una función del antiguo lenguaje de macros de Excel (macrofunciones), por eso es que no se puede utilizar directamente en la hoja.

Aquí otra opción para la formula en la hoja de Excel.

=SI(FILAS($B$2:B2)>CONTARA(hojasdelibro);"";ESPACIOS(DERECHA(SUSTITUIR(INDICE(hojasdelibro;;FILAS($B$2:B2));"]";REPETIR(" ";500));250)))[/CODE]

Saludos

Enlace a comentario
Compartir con otras webs

Antoni y Verzulsan, me parece que para ser MACRONIANOS de corazón o son muy jóvenes o tienen que investigar mas o les ataca el mal de alzhéimer.

Gracias por la duda sailepaty, pero lo mio, lamentablemente es el Alzheimer.

jajaja....

Gerson, es una victoria pasajera,......las fórmulas, como los dinosaurios, se extinguirán.

¡¡ No way !! que dicen los yankies

Enlace a comentario
Compartir con otras webs

Pues por ahí ando yo también Macro:).

Y para evitar tener que forzar la memoria con una formula tan larga para los jóvenes de corazón pero con el cuero arrugado, aquí adjunto un par de opciones mas.

Un afectuoso saludo.

Saile? Paty? Elias? Ya no tengo idea:confused:

Listar hojas de libro (con formula).zip

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.