Denominación de hojas con fechas

29/10/2008 - 21:10 por tonya | Informe spam
Hola a todos:

En una macro que tengo quiero introducir un código que me permita nombrar a
la hoja activa con el nombre del mes anterior al que estamos y el año actual
(por ejemplo: septiembre2008)...

¿Es posible ésto? ¿Cómo tendría que ponerlo?...

Gracias por anticipado...

Preguntas similare

Leer las respuestas

#11 tonya
31/10/2008 - 21:42 | Informe spam
Pues muchas gracias de nuevo... Probaré con esta nueva fórmula...

Aunque no entiendo por qué si son dos meses antes del que estamos hay que
restarle 1 a mes actual ("Month(Date)-1")...

Gracias de nuevo...

"Juan M" wrote:

Hola,

Para poner dos meses antes, yo me inclinaría por la fórmula que expuso
Cacho:

ActiveSheet.Name = "Literal" & Format(DateSerial(Year(Date), Month(Date)-1,
0), "mmmmyy")

Un saludo,
Juan



"tonya" escribió
> Muchas gracias¡¡¡ Han funcionado a la perfección...
>
> Por último (de momento ;) me gustaría saber cómo tengo que ponerlo para
> que
> en lugar de calcular el mes anterior al que estamos ejecutandos, calculase
> dos meses antes al que estamos... Por ejemplo: si estamos en el mes de
> Octubre la hoja debería nombrarse como agosto... ¿Cómo sería el código?...
>
> Muchas gracias de nuevo...
>
> "Juan M" wrote:
>
>> Hola,
>>
>> Si se puede, pero debes tener en cuenta una serie de limitaciones.
>> No puedes exceder de 30 caracteres,
>> No puedes emplear caracteres 'prohibidos' como: *[]?/ y alguno más.
>>
>> Para pones el literal sería de la siguiente forma:
>>
>> ActiveSheet.Name = "Literal" & Format(Date - Day(Date), "mmmmyyyy")
>>
>> Un saludo,
>> Juan
>>
>> "tonya" escribió
>> > Pues muchas gracias por las contestaciones... El código ha funcionado
>> > correctamente (puse al final el que me indicó Hector...
>> >
>> > Pero una pregunta más: ¿podría poner en el nombre además de la fecha
>> > algún
>> > literal? (por ejemplo que nombrase la hoja así:
>> > "diferencia-septiembre2008"
>> >
>> > "Juan M" wrote:
>> >
>> >> Upsss...
>> >>
>> >> "Héctor Miguel" escribió
>> >> > hola, Juan !
>> >> >
>> >> >>> ActiveSheet.Name = Format(Date - Day(Date), "mmmmyyyy")
>> >> >
>> >> >> Existe algun motivo por el que haya que restar el valor del dia
>> >> >> presente
>> >> >> al de la fecha completa?
>> >> >> En un principio la siguiente funcionaría igual de bien
>> >> >> ActiveSheet.Name = Format(Date, "mmmmyyyy")
>> >> >
>> >> > (basicamente...) porque OP (tonya) solicita el mes "anterior" a la
>> >> > fecha
>> >> > actual...
>> >> > "> ... nombrar a la hoja activa con el nombre del mes anterior al
>> >> > que
>> >> > estamos ..."
>> >> >
>> >> > saludos,
>> >> > hector.
>> >> >
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#12 Juan M
31/10/2008 - 22:53 | Informe spam
Hola,

Eso es porque la fórmula funciona creando un número serial que representa la
fecha que se indica con año, mes y día.
Al poner día 0 interpreta que es el último día del mes anterior y al restar
1 al mes interpretara una fecha que representa dos meses anterior a la fecha
encuestión.

La fórmula:
DateSerial(Year(Date), Month(Date)-1, 0)

Un saludo,
Juan

"tonya" escribió
Pues muchas gracias de nuevo... Probaré con esta nueva fórmula...

Aunque no entiendo por qué si son dos meses antes del que estamos hay que
restarle 1 a mes actual ("Month(Date)-1")...

Gracias de nuevo...

"Juan M" wrote:

Hola,

Para poner dos meses antes, yo me inclinaría por la fórmula que expuso
Cacho:

ActiveSheet.Name = "Literal" & Format(DateSerial(Year(Date),
Month(Date)-1,
0), "mmmmyy")

Un saludo,
Juan



"tonya" escribió
> Muchas gracias¡¡¡ Han funcionado a la perfección...
>
> Por último (de momento ;) me gustaría saber cómo tengo que ponerlo para
> que
> en lugar de calcular el mes anterior al que estamos ejecutandos,
> calculase
> dos meses antes al que estamos... Por ejemplo: si estamos en el mes de
> Octubre la hoja debería nombrarse como agosto... ¿Cómo sería el
> código?...
>
> Muchas gracias de nuevo...
>
> "Juan M" wrote:
>
>> Hola,
>>
>> Si se puede, pero debes tener en cuenta una serie de limitaciones.
>> No puedes exceder de 30 caracteres,
>> No puedes emplear caracteres 'prohibidos' como: *[]?/ y alguno más.
>>
>> Para pones el literal sería de la siguiente forma:
>>
>> ActiveSheet.Name = "Literal" & Format(Date - Day(Date), "mmmmyyyy")
>>
>> Un saludo,
>> Juan
>>
>> "tonya" escribió
>> > Pues muchas gracias por las contestaciones... El código ha
>> > funcionado
>> > correctamente (puse al final el que me indicó Hector...
>> >
>> > Pero una pregunta más: ¿podría poner en el nombre además de la fecha
>> > algún
>> > literal? (por ejemplo que nombrase la hoja así:
>> > "diferencia-septiembre2008"
>> >
>> > "Juan M" wrote:
>> >
>> >> Upsss...
>> >>
>> >> "Héctor Miguel" escribió
>> >> > hola, Juan !
>> >> >
>> >> >>> ActiveSheet.Name = Format(Date - Day(Date), "mmmmyyyy")
>> >> >
>> >> >> Existe algun motivo por el que haya que restar el valor del dia
>> >> >> presente
>> >> >> al de la fecha completa?
>> >> >> En un principio la siguiente funcionaría igual de bien
>> >> >> ActiveSheet.Name = Format(Date, "mmmmyyyy")
>> >> >
>> >> > (basicamente...) porque OP (tonya) solicita el mes "anterior" a
>> >> > la
>> >> > fecha
>> >> > actual...
>> >> > "> ... nombrar a la hoja activa con el nombre del mes anterior al
>> >> > que
>> >> > estamos ..."
>> >> >
>> >> > saludos,
>> >> > hector.
>> >> >
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#13 tonya
01/11/2008 - 11:08 | Informe spam
Pues muchas gracias por todo...

"Juan M" wrote:

Hola,

Eso es porque la fórmula funciona creando un número serial que representa la
fecha que se indica con año, mes y día.
Al poner día 0 interpreta que es el último día del mes anterior y al restar
1 al mes interpretara una fecha que representa dos meses anterior a la fecha
encuestión.

La fórmula:
DateSerial(Year(Date), Month(Date)-1, 0)

Un saludo,
Juan

"tonya" escribió
> Pues muchas gracias de nuevo... Probaré con esta nueva fórmula...
>
> Aunque no entiendo por qué si son dos meses antes del que estamos hay que
> restarle 1 a mes actual ("Month(Date)-1")...
>
> Gracias de nuevo...
>
> "Juan M" wrote:
>
>> Hola,
>>
>> Para poner dos meses antes, yo me inclinaría por la fórmula que expuso
>> Cacho:
>>
>> ActiveSheet.Name = "Literal" & Format(DateSerial(Year(Date),
>> Month(Date)-1,
>> 0), "mmmmyy")
>>
>> Un saludo,
>> Juan
>>
>>
>>
>> "tonya" escribió
>> > Muchas gracias¡¡¡ Han funcionado a la perfección...
>> >
>> > Por último (de momento ;) me gustaría saber cómo tengo que ponerlo para
>> > que
>> > en lugar de calcular el mes anterior al que estamos ejecutandos,
>> > calculase
>> > dos meses antes al que estamos... Por ejemplo: si estamos en el mes de
>> > Octubre la hoja debería nombrarse como agosto... ¿Cómo sería el
>> > código?...
>> >
>> > Muchas gracias de nuevo...
>> >
>> > "Juan M" wrote:
>> >
>> >> Hola,
>> >>
>> >> Si se puede, pero debes tener en cuenta una serie de limitaciones.
>> >> No puedes exceder de 30 caracteres,
>> >> No puedes emplear caracteres 'prohibidos' como: *[]?/ y alguno más.
>> >>
>> >> Para pones el literal sería de la siguiente forma:
>> >>
>> >> ActiveSheet.Name = "Literal" & Format(Date - Day(Date), "mmmmyyyy")
>> >>
>> >> Un saludo,
>> >> Juan
>> >>
>> >> "tonya" escribió
>> >> > Pues muchas gracias por las contestaciones... El código ha
>> >> > funcionado
>> >> > correctamente (puse al final el que me indicó Hector...
>> >> >
>> >> > Pero una pregunta más: ¿podría poner en el nombre además de la fecha
>> >> > algún
>> >> > literal? (por ejemplo que nombrase la hoja así:
>> >> > "diferencia-septiembre2008"
>> >> >
>> >> > "Juan M" wrote:
>> >> >
>> >> >> Upsss...
>> >> >>
>> >> >> "Héctor Miguel" escribió
>> >> >> > hola, Juan !
>> >> >> >
>> >> >> >>> ActiveSheet.Name = Format(Date - Day(Date), "mmmmyyyy")
>> >> >> >
>> >> >> >> Existe algun motivo por el que haya que restar el valor del dia
>> >> >> >> presente
>> >> >> >> al de la fecha completa?
>> >> >> >> En un principio la siguiente funcionaría igual de bien
>> >> >> >> ActiveSheet.Name = Format(Date, "mmmmyyyy")
>> >> >> >
>> >> >> > (basicamente...) porque OP (tonya) solicita el mes "anterior" a
>> >> >> > la
>> >> >> > fecha
>> >> >> > actual...
>> >> >> > "> ... nombrar a la hoja activa con el nombre del mes anterior al
>> >> >> > que
>> >> >> > estamos ..."
>> >> >> >
>> >> >> > saludos,
>> >> >> > hector.
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>


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