Macro que permita exportar a PDF, informe con lista despegable.

Junto con saludar les solicito de su ayuda para el siguiente caso.

Acabo de terminar de una planilla donde la hoja "Horario-Cursos" tiene un informe "horario de clases" este tiene en la celda "D9" una lista desplegable de los cursos, despliega los nombres "1ºA, 1ºB, 1ºC, 1ºD, 1ºE - este orden hasta 4ºE." cuando se elige el curso, se realiza la consulta llenando la planilla configurada con todos los datos de las asignaturas, docentes, salas, etc.

Es posible crear una macro que permita exportar el informe de cada curso mencionado bajo estas condiciones.

-Exportar a PDF todos los cursos que aparecen en la lista desplegable:

  • 1ºA
  • 1ºB
  • 1ºC
  • 1ºD
  • 1ºE
  • 2ºA
  • 2ºB
  • 2ºC
  • 2ºD
  • 2ºE
  • 3ºA
  • 3ºC
  • 3ºD
  • 3ºE
  • 4ºA
  • 4ºC
  • 4ºD
  • 4ºE

-Nombre de los archivos a exportar :

  • "1_1ºA_HORARIO_03-MAYO-2020.pdf"
  • "2_1ºB_HORARIO_03-MAYO-2020.pdf"
  • "3_1ºC_HORARIO_03-MAYO-2020.pdf", etc.

Esta lista de nombres lo tengo en otra hoja del libro, nombre "BASE" rango de celdas : V2:V19.

-Directorio de salida de los archivos "C:\Horarios\PDFOut\"

-Mostrar un mensaje cuando comienza y termina todo el proceso de exportación.

La hoja "Horario-Curso" donde se encuentra el informe se encuentra configurada el área de impresión.

Adjunto captura. Espero una buena acojida a mi consulta desde ya muchas gracias.

Quedo atento.

Saludos.

1 respuesta

Respuesta
1

Prueba la siguiente macro:

Sub Generar_Pdfs()
  Dim c As Range, n As Long, sRuta As String, sArch As String
  sRuta = "C:\Horarios\PDFOut\"
  With Sheets("Horario-Cursos")
    For Each c In Sheets("BASE").Range("V2:V19")
      .Range("D9").Value = c.Value
      n = n + 1
      sArch = n & "_" & c.Value & "_HORARIO_" & Format(Date, "dd-mmmm-yyyy")
      .ExportAsFixedFormat xlTypePDF, sRuta & sArch & ".pdf", 0, True, False, , , False
    Next
  End With
  MsgBox "Fin"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas