Como separar hojas de excel 2013 en pdf

Estoy trabajando en un excel para agilizar los pedidos de mi empresa.

En la primera hoja tengo la relación de todos los proveedores y los productos para ir comprobando el stock en el almcén. En el resto de hojas tengo cada uno de los proveedores con su plantilla de pedido que se va rellenado cuando rellenas la primera hoja.

Lo que quiero hacer es una macro que me convierta en PDF las hojas de los proveedores en las que hay datos y que se me guarden en una carpeta, que no se si podría crearse también de forma sistemática.

También me gustaría que cada pdf tuviera el nombre del proveedor, y el de la fecha (Está en la celda A6). En ese caso, lo de la carpeta ya no sería necesario.

Soy nueva en esto, pero he visto que en otras preguntas habéis solucionado venga de "deseos" y me he animado.

1 respuesta

Respuesta

H o l a:

Te anexo la macro, supongo que el nombre del proveedor está en el nombre de la hoja.

Sub PdfsDeProveedores()
'Por.Dante Amor
    ruta = ThisWorkbook.Path & "\"
    For h = 2 To Sheets.Count
        fec = Format(Sheets(h).[A6], "dd-mm-yyyy")
        nombre = Sheets(h).Name & " " & fec
        Sheets(h).ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=ruta & nombre & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next
    MsgBox "Archivos pdf generados"
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel y en la primera hoja.
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: PdfsDeProveedores
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Avísame si quieres cambiar algo.


':)
':)

Muchisimas gracias. He probado la macro y me da error.

Al dar al botón "depurar" me sale esto en subrayado

Sheets(h).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & nombre & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False.

¿Qué tengo que hacer ahora?

¿Qué dice el mensaje de error?

Después de me digas qué dice el mensaje de error, realiza lo siguiente:

Activa la grabadora de macros, para ello entra al menú programador y presiona el botón "Grabar macro"; guarda la hoja en Pdf, regresa al menú programador, y desactiva la grabador de macros.

Lo que hizo la grabador, fue crear un código, copia ese código y me lo pegas en esta pregunta para revisarlo.

El mensaje de error dice

La macro para guardar una hoja en PDF es 

Sub GuardarPDF()
'
' GuardarPDF Macro
'

'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\PROGRAMA3.0.pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Muchas gracias

H o l a:

Podrías darme más información.

Qué tienes en la celda A6, escribe exactamente qué tienes.

¿Cómo se llaman tus hojas?

O envíame tu archivo con todo y macros para revisarlo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Bárbara Moratilla” y el título de esta pregunta.

Gracias Dante.

Ya te he mandado el mail

H o l a:

Este es el problema.

"

Qué tienes en la celda A6, escribe exactamente qué tienes.

"

En la celda A6 tienes esto:

"

FECHA: 3.III.2016

"

Los 2 puntos ":" no es un carácter válido para nombrar un archivo.

La macro funciona bien, solamente tienes que quitar los 2 puntos:

"FECHA 3.III.2016"


':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas