¿Problemas al guardar un archivo a PDF desde excel tomando como referencia para el nombre una celda con fecha?

Tengo este código:

Sub GUARDARPDF()
On Error Resume Next
Sheets("Hoja1").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="D:\" & "Reporte de Ingresos del " & Range("A1") & ".PDF", _
QUALITY:=xlQualityStandard, Includedocproperties:=True, ignoreprintareas:=False, Openafterpublish:=True

End Sub

El problema es que cuando coloco una fecha en la celda A1, no se me ejecuta la macro, mientras que cuando A1 posee algún texto o valor numérico si se ejecuta y guarda el archivo... AYUDA!

2 Respuestas

Respuesta
1

H o l a 

Te paso la macro actualizada, en la celda A1 es exclusivamente para fecha

Sub GUARDARPDF()
On Error Resume Next
Sheets("Hoja1").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="D:\" & "Reporte de Ingresos del " & Format(Range("A1"), "dd-mm-yyyy") & ".PDF", _
quality:=xlQualityStandard, includedocproperties:=True, _
ignorePrintAreas:=False, openAfterPublish:=False
'
MsgBox "Se ha guardado la hoja en PDF", vbInformation
End Sub

Valora la respuesta para finalizar saludos!

Respuesta
1

El detalle es que el nombre de un archivo no puede contener ciertos caracteres como

" # % * : < > ? / \ |

Entonces cuando intentas guardar un archivo con el nombre y en el nombre va una fecha dd/mm/aaaa , lleva la diagonal "/", por eso, hay que cambiar el formato a la fecha, puedes ser "dd_mm_yyyy" o "dd-mm-yyyy"

También es recomendamble NO utilizar la instrucción On Error Resume Next, ya que en caso de error no sabrías cuál fue el error.

Te anexo la macro con el formato de fecha:

Sub GUARDARPDF()
    ruta = "D:\"
    arch = "Reporte de Ingresos del "
    fech = Format(Range("A1").Value, "dd-mm-yyyy")
    Sheets("Hoja1").ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & arch & fech & ".PDF", _
        QUALITY:=xlQualityStandard, Includedocproperties:=True, _
        ignoreprintareas:=False, Openafterpublish:=True
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas