Buen día, necesito que una macro que ya está realizada me guarde en pdf con el nombre de 2 celdas...

Esta macro me la realizo Dante, y me gustaría que por favor me colaboraran para que el nombre del pdf quede como la celda G19 y se guarde en una carpeta especifica, muchas gracias...

Private Sub CommandButton1_Click()
'Por.Dante Amor
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set h1 = Sheets("Formato")          'nombre de la hoja con el formato
    ruta = "C:\trabajo\"                'ruta específica
    arch = "prueba.pdf"                 'nombre del archivo
    '
    'Primero copiar el formato a hoja nueva
    h1.Copy after:=Sheets(Sheets.Count)
    Set h2 = ActiveSheet
    '
    'Pasar los datos del userform a la nueva hoja
    h2.Range("A5").Value = ComboBox1.Value
    h2.Range("A7").Value = TextBox1.Value
    '
    'Continuar con los demás controles y su celda respectiva
    '...
    '
    'Imprimir la hoja
    H2. PrintOut
    '
    'Guardar hoja como PDF
    h2.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta & arch, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    h2.Delete
    h1.Select
    '
    MsgBox "Fin"
End Sub
Respuesta
1

Cambia esta línea:

arch = "prueba.pdf"                 'nombre del archivo

Por esta

arch = h1. Range("G19").Value & ".pdf"                'nombre del archivo

Si en la celda G19 tienes una fecha, entonces tienes que poner la línea así:

arch = format(h1. Range("G19"). Value, "dd-mm-yyyy") & ".pdf" 'nombre del archivo

Para la carpeta específica, tienes que poner en esta línea el nombre de tu carpeta:

    ruta = "C:\trabajo\"                'ruta específica

Por ejemplo, por esta:

    ruta = "C:\documentos\diario\"                'ruta específica

Nota: revisa bien el nombre de las carpetas y recuerda terminar con la diagonal \


.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Aun no me deja me lo guarda como imprimir 1,2,3... etc

por favor colaborame

Puedes poner la macro con los cambios que te comenté.

¿Y después de ejecutar qué debería hacer y qué es lo que hace?

1 respuesta más de otro experto

Respuesta
1

[Hola 

en esta linea 

arch = "prueba.pdf" 

cambia por esto

arch = h2.Range("G19") & ".pdf"

s a l u dos!

Me aparece esto... como haría en este caso, muchas gracias

Ah me equivoqué

Así

arch = h1.Range("G19") & ".pdf"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas