Excel - Fernando

 
Vista:

Fernando

Publicado por Distinguir carpetas mensuales (12 intervenciones) el 22/07/2009 12:10:56
Hola a todos, me gustaría preguntaros una cosa:

Tengo un libro1.xls con una serie de valores y una macro. Al ejecutar-la, esos valores se me copian a otro libro, el cual llamaré "NOMBRE_MES.xls".

Existen 12 libros "NOMBRE_MES.xls", uno para cada mes del año.

En el explorador de windows, he clasificado los años y los meses de esta manera:

- Carpetas de años: 2008, 2009, 2010, etc.

- Dentro de cada carpeta anual, las subcarpetas del mes correspondiente: 01 Enero, 02 Febrero, 03 Marzo, 04 Abril, etc.

Dentro de estas subcarpetas mensuales se hubica el libro "NOMBRE_MES.xls" con el nombre correspondiente de cada mes, es decir, enero.xls, febrero.xls, marzo.xls, abril.xls, etc.

La macro del libro1 no distingue el mes en el que estamos y ahora mismo

La he programado para abra una dirección concreta, en este caso, al archivo julio.xls, contenido en la carpeta 2009, para realice la copia de los valores contenidos en el libro1.xls. El libro1.xls siempre será el mismo.

El problema es cuando cambiemos de mes y de año.

No sé cómo hacer para que la macro detecte el mes y el año, y copie los valores en la carpeta y subcarpeta correspondiente.

¿Sabríais cómo hacerlo?

Muchísimas gracias

SALUDOS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:Fernando

Publicado por JuanC (1237 intervenciones) el 23/07/2009 17:01:05
con las siguientes funciones tenés los datos de la fecha actual
el resto -para asignar el nombre de archivo correcto- lo hacés con una estructura Select Case o If ... Else

d = Day(Now())
m = Month(Now())
y = Year(Now())

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Distinguir carpetas mensuales del explorador.Macro

Publicado por fernando (12 intervenciones) el 24/07/2009 12:04:05
Te pongo el cófigo,que es sencillo, lo que tendría que hacer es abrir el archivo correspondiente al mes actual, y copiar unos valores, cerrar y guardar.

Para abrir un archivo en concreto sería así:

Workbooks.Open Filename:= _
"C: ueva carpeta a20097 julio a JULIO_2009.xls"

'en esta linia se copiaran unos valores y no he creído necesario poner la programacion, y luego:

ActiveWorkbook.Save
DisplayAlerts = False
ActiveWorkbook.Close

ya esta, sólo es eso. El problema es que el excel tiene que distinguir la carpeta del año, 2009, 2010, ect, y dentro de esta carpeta, distingir el mes correspondiente, y dentro de cada mes correspondiente abrir el archivo "ra NOMBREMES_AÑO.xls"
de la siguiente manera:

"C: ueva carpeta a20098 agosto a agosto_2009.xls"

"C: ueva carpeta a20099 septiembre a septiembre_2009.xls"

y cuando cambie de año, la dirección sera de esta forma

"C: ueva carpeta a20102 julio a FEBRERO_2010.xls"

Muchas gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Distinguir carpetas mensuales del explorador.Ma

Publicado por fernando (12 intervenciones) el 24/07/2009 12:23:31
Lo siento, he visto que el slash vertical no aparece. aquí te lo vuelvo a dejar :

-------------------------------------------------------------------------------------------------------------
Te pongo el cófigo,que es sencillo, lo que tendría que hacer es abrir el archivo correspondiente al mes actual, y copiar unos valores, cerrar y guardar.

Para abrir un archivo en concreto sería así:

Workbooks.Open Filename:= _
"C: / nueva carpeta / datos / 2009 / 07 julio / datos JULIO_2009.xls"

'en esta linia se copiaran unos valores y no he creído necesario poner la programacion, y luego:

ActiveWorkbook.Save
DisplayAlerts = False
ActiveWorkbook.Close

ya esta, sólo es eso. El problema es que el excel tiene que distinguir la carpeta del año, 2009, 2010, ect, y dentro de esta carpeta, distingir el mes correspondiente, y dentro de cada mes correspondiente abrir el archivo "datos NOMBREMES_AÑO.xls"
de la siguiente manera:

"C: / nueva carpeta / datos / 2009 /08 agosto / datos agosto_2009.xls"

"C: / nueva carpeta / datos / 2009 / 09 septiembre / datos septiembre_2009.xls"

y cuando cambie de año, la dirección sera de esta forma

"C: / nueva carpeta / datos / 2010 / 02 febrero / datos FEBRERO_2010.xls"

Muchas gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Distinguir carpetas mensuales del explorador.Ma

Publicado por JuanC (1237 intervenciones) el 24/07/2009 13:49:30
Sub test()
Dim sPath$
Dim sDia$, sMes$, sAnno$
'"C: / nueva carpeta / datos / 2009 /08 agosto / datos agosto_2009.xls"
sDia = Format(Day(Now()), "00")
sMes = MonthName(Month(Now()), False)
sAnno = Year(Now())

sPath = "C:/nueva carpeta/datos/" & sAnno & "/" & sDia & " " & sMes & "/datos " & sMes & "_" & sAnno & ".xls"
End Sub

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Distinguir carpetas mensuales del explorador.Ma

Publicado por Fernando (12 intervenciones) el 10/08/2009 09:40:19
Muchas gracias, me ha sido de gran ayuda tu aportación.

He modificado un poco la macro y me ha funcionado correctamente

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar