Foros del Web » Soporte técnico » Ofimática »

Macro para guadar hojas con un nombre de una celda variable y fecha y hora, Ayuda!!

Estas en el tema de Macro para guadar hojas con un nombre de una celda variable y fecha y hora, Ayuda!! en el foro de Ofimática en Foros del Web. Buenas a todos, espero alguien me pueda ayudar, llevo rato trabado en esto. Necesito terminart de crear un boton, con macro, para que me guarde ...
  #1 (permalink)  
Antiguo 04/04/2010, 17:59
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Macro para guadar hojas con un nombre de una celda variable y fecha y hora, Ayuda!!

Buenas a todos, espero alguien me pueda ayudar, llevo rato trabado en esto.

Necesito terminart de crear un boton, con macro, para que me guarde automáticamente una hoja activa, con el nombre de una casilla(Valor Variable9 y la hora. De ésta manera logro, que al guardar la hoja activa en una ruta x, me la transforme a pdf, pero no quiero que me sobreescriba la hoja anteriormente guardada.

Se tratan de recetas, donde se repiten los nombres de lamisma, entonces no puedo guardar la hoja con el mismo nombre, por ejemplo Nombre Vainilla, necesito repetir este nombre en varias hojas, por ésto pensaba insertarle detrás del nombre otro indice, podría ser un numero rotativo ascendente o mejor una fecha y hora, para que quede así:

Vainilla 12-03'2010 01:15 > Necesito que los nombres de las hojas de mi libro se guarden de este modo, y en formato pdf.

Les paso el código que llevo, que me funciona pero solo toma el nombre de la receta.



Sub ImpPDF()
'
' ImpPDF Macro
'
'
Dim RutaArchivo As String
RutaArchivo = "C:\RECETAS\" + Cells(8, 3) + ".pdf"
Range("A1:G39").Select
Range("G39").Activate
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Range("C8").Select
End Sub

La casilla c8, que arriba se representa como Cells, (8,3), es donde aparecerá el nombre de la receta, me faltaría agregarle a ésta rutina que me agregue la fecha y hora como parte del nombre, de éste modo no me sobreescribirá las recetas, ya que el nombre será diferente.

Por favor, si alguien me hecha una ayudita, estaré muy agradecido.-
  #2 (permalink)  
Antiguo 06/04/2010, 08:55
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Macro para guadar hojas con un nombre de una celda variable y fecha y hora

No es muy clara tu pregunta:

Pero creo que algo asi???

Código:
Dim WS_Count As Integer 'Hojas activas
Dim I As Integer 'indice de posicion hoja.
Dim RutaArchivo As String 'VAr ruta de almacenamiento

WS_Count = ActiveWorkbook.Worksheets.Count 'Contar las hojas
For I = 1 To WS_Count 'Recorrer hojas
            'ActiveWorkbook.Worksheets(I).Name 'GET Nombre de la hoja activa
            'ActiveWorkbook.Worksheets(I).Name = 'algo' 'SET Nombre de hoja
            RutaArchivo = "C:\RECETAS\" + ActiveWorkbook.Worksheets(I).Name + Cells(1, 1) + Format(Now, "dd-mm-yyyy") + Format(Now, "(hh'mm'ss)") + ".pdf"

 Next I
Lo que hace este código es crear una ruta de la forma:

C:\RECETAS\NombredeHojaLo_que_hay_en_celda(1,1)Fec ha(Hora).pdf

Ejemplo: C:\RECETAS\VainillaFernando06-04-2010(09'55'44).pdf

Con formato: fecha dd-mm-aaaa(hh'mm'ss).

2. Si lo que deseas es aignar nombres a las hojas:

For I = 1 To WS_Count 'Recorrer hojas
'begin for x
ActiveWorkbook.Worksheets(I).Name = Cells(1, x)+Format(Now, "dd-mm-yyyy") + Format(Now, "(hh'mm'ss)")
'end for x
Next I


Me cuentas si te funciona.

Un saludo

Última edición por SPAWN3000; 06/04/2010 a las 09:02
  #3 (permalink)  
Antiguo 06/04/2010, 20:40
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: Macro para guadar hojas con un nombre de una celda variable y fecha y hora

Hola! Saksssss. Podrías reemplazar
RutaArchivo = "C:\RECETAS\" + Cells(8, 3) + ".pdf"

por lo siguiente:
RutaArchivo = "C:\RECETAS\" & [C8] & Format(Now, " yyyy-mm-dd hh:mm:ss") & ".pdf"

Saludos, Cacho.

Etiquetas: celda, hojas, macro, nombre, fechas, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:52.