This post will guide you on how to save or export Excel charts as PDF using the move chart feature and VBA code. And we will provide you with the necessary steps to export multiple charts into a PDF file.
The move chart feature allows you to easily move charts to a new worksheet, which is useful when exporting multiple charts. Additionally, we will provide VBA code that automates the process of exporting multiple charts into a single PDF file.
Save one Chart to a PDF Page
You can save an Excel chart as a PDF page by following these steps:
Step1: Select the chart you want to save as a PDF.
Step2: Click on the “File” menu in Excel, then select “Save As“. the “Save As” dialog box will open. Choose the location where you want to save the PDF file. In the “Save as type” dropdown menu, select “PDF (*.pdf)”. Enter a name for the PDF file in the “File name” field.
Step3: Click on the “Options” button to open the “Options” dialog box.
Step4: In the “Options” dialog box, choose the “Selected chart” option under the ” Publish What” section.
Step5: Click on the “OK” button to close the “Options” dialog box.
Step6: Click on the “Save” button to save the chart as a PDF file.
The resulting PDF file will contain only the selected chart and nothing else.
Export Multiple Charts into one PDF File using Move Chart
If you need to print several charts, it can be more efficient to print them all at once in one document rather than printing them separately.
Here are the steps to export multiple charts into one PDF file:
Step1: Select the first chart you want to export.
Step2: Right-click on one of the selected charts and choose “Move Chart“. The “Move Chart” dialog box will open.
Step3: In the “Move Chart” dialog box, select the “New sheet” radio button and click “OK“.
Step4: Repeat steps 1-3 for each chart you want to export.
Step5: Select all of the charts by holding down the Ctrl key and clicking on each chart sheet tab that you want to export.
Step6: Click on the “File” menu and choose “Save As“. Choose “PDF” as the file type in the “Save As” dialog box. Enter a name for the PDF file.
Step7: In the “Save As” dialog box, choose the option “Active sheet” under “Publish what“. Click on the “OK” button to close the dialog box.
Step8: Click on the “Save” button to save the PDF file.
You can see that the last PDF file will contain one page for each chart you exported, with each chart on a separate page.
Export Multiple Charts into one PDF File with VBA Code
You can save or export multiple charts in the active workbook into one PDF file using VBA Code in Excel, and each chart is in a separate page. Just do the following steps:
Step1: Open your Excel workbook that contains the charts you want to export.
Step2: Press “Alt + F11” to open the Microsoft VBA Editor.
Step3: In the VBA Editor, click “Insert” from the top menu, then choose “Module“.
Step4: In the new module, paste the below VBA code.
Sub ExportAllChartsToPDF_excelgeek() Dim wb As Workbook Dim ws As Worksheet Dim co As ChartObject Dim exportSheet As Worksheet Dim chartCount As Integer Dim fileSaveName As Variant Dim chartWidth As Integer Dim chartHeight As Integer Dim chartTop As Integer Dim chartLeft As Integer ' Set a reference to the active workbook Set wb = ActiveWorkbook ' Create a new worksheet to export the charts Set exportSheet = wb.Worksheets.Add 'Copy each chart to the export sheet For Each mySheet In wb.Worksheets For Each myChart In mySheet.ChartObjects chartCount = chartCount + 1 If chartCount > 0 Then exportSheet.HPageBreaks.Add Before:=exportSheet.Cells(chartCount * 30, 1) 'exportSheet.Cells(chartCount * 30, 1).Select End If myChart.Chart.ChartArea.Copy exportSheet.Paste Destination:=exportSheet.Cells(chartCount * 30 - 29, 1) Next myChart Next mySheet ' Check if any charts were exported If chartCount = 0 Then MsgBox "No charts found in workbook." exportSheet.Delete Exit Sub End If ' Export the export sheet as a PDF file fileSaveName = Application.GetSaveAsFilename(fileFilter:="PDF Files (*.pdf), *.pdf", Title:="Save PDF File") If fileSaveName <> False Then 'exportSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileSaveName exportSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileSaveName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End If ' Delete the export sheet Application.DisplayAlerts = False exportSheet.Delete Application.DisplayAlerts = True End Sub
Step5: Run the code by clicking the “Run” button or pressing “F5“. Or Press ALT + F8 to open the Macro dialog box or click on Macros command under Code group. Then select the macro named “ExportSelectedChartAsPicture_excelgeek” from the list of macros and click on “Run”.
Step6: choose one location where you want to save the PDF file.
Step7: The code will export all the charts in your workbook into one PDF file and save it to your specified location.
Exporting charts as PDFs is useful when you need to share or print them. If you have multiple charts in your Excel document and want to export them as a single PDF file with each chart on a separate page, you can use the VBA code provided in this article.