Saltar al contenido

Copiar un Rango de celdas a PDF


Recommended Posts

publicado

Hola @Antoni Gusto en saludarte.

En un Post anterior vi esto tuyo que lo pasa a JPG

Sub Export()
 Dim oWs As Worksheet
 Dim oRng As Range
 Dim oChrtO As ChartObject
 Dim lWidth As Long, lHeight As Long
 Set oWs = ActiveSheet
 Set oRng = oWs.Range("B2:H11")
 oRng.CopyPicture xlScreen, xlPicture
 lWidth = oRng.Width
 lHeight = oRng.Height
 Set oChrtO = oWs.ChartObjects.Add(Left:=0, Top:=0, Width:=lWidth, Height:=lHeight)
 oChrtO.Activate
 With oChrtO.Chart
  .Paste
  .Export Filename:="Case.jpg", Filtername:="JPG"
 End With
 oChrtO.Delete
End Sub

Existe la manera de hacer lo mismo pero a PDF?

Gracias.

publicado

Ese código no es mío, pero contestando a tu consulta te paso unas macro que hacen lo que pides.

Solo tienes que cambiar el rango y el nombre del archivo.

Rango de la hoja activa:

Sub RangoPDF()
   Dim Archivo As String
   Range("A1:C15").CopyPicture xlScreen, xlPicture
   Sheets.Add                          'Hoja de trabajo
   Range("C5").Select                  'Celda de destino
   ActiveSheet.Paste
   '--
   Archivo = ThisWorkbook.Path & "F:\Mi archivo.pdf" 'Archivo a crear
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Archivo
   '--
   Application.DisplayAlerts = False   'Ignora mensajes
   ActiveSheet.Delete                  'Eliminamos la hoja de trabajo
   Application.DisplayAlerts = True    'Restaura mensajes
End Sub

Toda la hoja:

Sub HojaPDF()
   Dim Archivo As String
   '--
   Archivo = ThisWorkbook.Path & "F:\Mi archivo.pdf" 'Archivo a crear
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Archivo
   '--
End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.