Armar automáticamente el nombre de la hoja, dentro de la fórmula que trae contenido de celda

Cordial saludo para todos. Nuevamente recurro a su valiosa ayuda.


Tengo un libro con 12 hojas, llamadas enero-13, febrero-13, marzo-13..., es decir una hoja para cada mes del año.
En cada hoja tengo la celda A29 que contiene la fecha del primer día de cada mes 1-ene-13, 1-feb-13,…
En la celda Q10 de febrero-13 tengo ='enero-13'!Q13, en Q10 de la hoja marzo-13 tengo ='febrero-13'!Q13, es decir que en cada mes traigo el valor de Q13 del mes anterior.


Quiero automatizar esto último ='enero-13'!Q13, usando fórmulas, haciendo lo siguiente, pero no me funciona:
Si en una celda pusiera =TEXTO(A29-1;"mmm") obtendría como resultado el nombre del mes anterior: feb, mar,abr,…
Entonces, en la fórmula ='enero-13'!Q13 reemplazo el mes, "enero", de tal modo que la fórmula me queda:

='(TEXTO(A29-1;"mmm"))-13'!Q13, pero no me funciona.


Me podrían ayudar a lograrlo, por favor? Gracias.

1 respuesta

Respuesta
1

Te propongo arreglarlo con una pequeña macro que hará el trabajo por ti.

-Tenemos tus doce hojas ordenadas cronológicamente.

-Ejecuta esta macro y todo solucionado.

Sub ejemplo()
'por luismondelo
For x = 2 To Sheets.Count
Sheets(x).Select
Range("q10").Formula = "='" & Sheets(x - 1).Name & "'!q13"
Next
End Sub

Después de ejecutar esta macro tendrás puesta la fórmula automáticamente en los meses de febrero a diciembre.

No olvides finalizar la consulta

luismondelo, buenos días.

Muchas gracias por su prontísima respuesta y por dedicar parte de su valioso tiempo a atender mi inquietud.

Probé su macro y funciona, aunque no tengo ni idea cómo lo hace. De todas formas, me gustaría hacerlo sin macros, por favor no lo tome como una grosería ni como un rechazo a su esfuerzo, trabajo y dedicación, solo que por ahora prefiero hacerlo mediante el uso de fórmulas, me podría ayudar?

Nuevamente gracias.

Henry

Ok, te muestro mi propuesta:

-Las hojas las nombraría de esta manera:

1-2013 2-2013 3-2013 ...

Ahora anotaría esta fórmula en la celda Q10 desde febrero en adelante

=INDIRECTO("'"&MES(A29)-1&"-2013'!q13")

Hola, buenos días.

Atendiendo sus indicaciones renombré las hojas por 1-13, 2-13, 3-13..., usé su fórmula cambiándole -2013 por -13 y voilá, ¡¡¡¡¡ ESTUPENDO !!!! ¡¡¡¡¡ FUNCIONA !!!!!

Muchas gracias.

Su solución al problema, tal como lo planteé, está perfecta, PERO... buscando plantear la situación de la forma más sencilla dije que mi libro solo contenía un año, realmente tengo varios años, y al aplicar la fórmula, en el cambio del año 2012 a 2013, es decir en enero de 2013 (hoja 1-13), no me funciona, da como resultado #¡REF!, supongo que así será para las demás transiciones de año.

Entiendo claramente que su solución es la adecuada y que su funcionamiento incompleto se debe solamente a mi equivocación, lamento no haber planteado el problema en la forma adecuada y le pido mil disculpas por ello.

Agradezco su gentileza.

Henry.

Ok, entonces prueba a poner la fórmula así:

=INDIRECTO("'"&MES(A29)-1&"-"&año(a29)&"'!q13")

Luis, ¿Te llamas Luis?

No funciona en enero, y en los demás meses reemplacé la fórmula inicial por esta nueva y tampoco.

La he probado en un cambio de mes normal por ejemplo del mes 2-2013 al mes 3-2013 y funciona perfectamente.

Pero para el caso de enero es diferente ya que tenemos que arrastrar el valor del diciembre anterior, en ese caso la fórmula se complica así:

=SI(MES(A29)<>1;INDIRECTO("'"&MES(A29)-1&"-"&AÑO(A29)&"'!q13");INDIRECTO("'12-"&AÑO(A29)-1&"'!q13"))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas