¿Se puede poner nombre a el archivo PDF, que por marco salio?

Lo tengo así

'Convertir en PDF con criterios de impresión
Range("M26:Q32").Select
Selection. ClearContents
Selection. Clear
ruta = ThisWorkbook.Path & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & "archivo.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("INTERNO").Select
Range("M23:Q29").Select
Selection.Copy
Sheets("EJEM. PEDIDO FINCADO").Select
Range("M26").Select
ActiveSheet.Paste
Range("A1").Select
'proteger nuevamente la hoja
Hoja9. Protect "abc"
Range("A1").Select

Y me manda a la carpeta un archivo PDF que se llama "archivo" ¿Podría ponerle un nombre según una celda?

2 Respuestas

Respuesta
1

Indica la celda para el nombre de tu archivo.

Cambia por esto.

Range("M26:Q32").Select
Selection. ClearContents
Selection. Clear
ruta = ThisWorkbook.Path & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & Sheets("INTERNO").Range("A1") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("INTERNO").Select
Range("M23:Q29").Select
Selection.Copy
Sheets("EJEM. PEDIDO FINCADO").Select
Range("M26").Select
ActiveSheet.Paste
Range("A1").Select
'proteger nuevamente la hoja
Hoja9.Protect "abc"
Range("A1").Select

Cambia los datos a tus necesidades porque no indicaste la hoja y la celda donde irá el nombre.

Voy a suponer

Filename:=ruta & Sheets("INTERNO").Range("A1") & ".pdf"

Valoras la respuesta para finalizar Saludos!

perdona trate de hacerlo pero no me sale  te pongo todo lo que tengo en la macro  con los cambios que tu me sugeriste,   pero esta parte( que te pongo en negritas)   se pone en amarillo y me dice "se ha producido el error  13 en tiempo de ejecución . No coinciden los tipos"

FINCAR_PEDIDO Macro
'DA NO DE PEDIDO Y SACA TRES IMPRESIONES
'Abrir el libro con el consecutivo
ruta = ThisWorkbook.Path & "\"
Workbooks.Open ruta & "solamente numero de pedido.xlsx"
'Aumentar el consecutivo
[A1] = [A1] + 1
num = [A1]
'guardar el nuevo consecutivo
ActiveWorkbook.Close True
'Desproteger hoja para cambiar el número de pedido
Hoja9.Unprotect "abc"
'Poner el consecutivo en la hoja8
Hoja9.[Q9] = num
'proteger nuevamente la hoja
'Guardar el libro del cliente
ActiveWorkbook.Save
'IMPRIMIR


'Imprime dos copias para archivo interno y una copia paral el cliente.

ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=2, Collate _
:=True, IgnorePrintAreas:=False
Range("M26:Q32").Select
Selection.ClearContents
Selection.Clear
Range("S21").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("INTERNO").Select
Range("M23:Q29").Select
Selection.Copy
Sheets("EJEM. PEDIDO FINCADO").Select
Range("M26").Select
ActiveSheet.Paste
Range("A1").Select
'Convertir en PDF con criterios de impresión
Range("M26:Q32").Select
Selection.ClearContents
Selection.Clear
ruta = ThisWorkbook.Path & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & Range("Q9").Range("N1:Q1") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("INTERNO").Select
Range("M23:Q29").Select
Selection.Copy
Sheets("EJEM. PEDIDO FINCADO").Select
Range("M26").Select
ActiveSheet.Paste
Range("A1").Select
'proteger nuevamente la hoja
Hoja9.Protect "abc"
Range("A1").Select
'
End Sub

El error está resaltado en negrita y es porque estas ultilizando 2 veces range.

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & Range("Q9").Range("N1:Q1") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Cambia tu código resaltado en negrita por esto.

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & Sheets("INTERNO").Range("A1") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Pero considera esto:

Sheets("INTERNO") es la hoja de donde extraerá el nombre para tu archivo, en este caso le puse INTERNO si no lo es cambialo por lo que es.

Range("A1") es la celda donde está escrito el nombre de tu archivo, en este caso le puse A1, si no lo es cambia por lo que es.

Si tienes dificultad enviame tu archivo al [email protected]

Si fue bien valora la respuesta saludos!

El error está resaltado en negrita y es porque estas ultilizando 2 veces range.

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & Range("Q9").Range("N1:Q1") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Cambia tu código resaltado en negrita por esto.

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & Sheets("INTERNO").Range("A1") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Pero considera esto:

Sheets("INTERNO") es la hoja de donde extraerá el nombre para tu archivo, en este caso le puse INTERNO si no lo es cambialo por lo que es.

Range("A1") es la celda donde está escrito el nombre de tu archivo, en este caso le puse A1, si no lo es cambia por lo que es.

Si tienes dificultad enviame tu archivo al [email protected]

Si te fue bien valora la respuesta saludos!

Respuesta
1

I. Buenas Mar, yo no sé hacerlo pero creo que estos tres métodos pueden ser válidos, podrías intentarlos mientras otra persona responde, suerte.

Excel: Guardar hojas en formato .pdf según el valor de una celda.

https://www.youtube.com/watch?v=IF24-sL8m1k 

Cadena = "C:\Documents and Settings\jesus\Mis documentos\" & Range("A1") & ".xls"
ActiveWorkbook.SaveAs cadena, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas