Creating Individual PDFs by Worksheet

Written by Allen Wyatt (last updated November 18, 2022)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365


5

Lissa has a workbook that contains multiple worksheets. She would like to create individual PDFs for these worksheets (one PDF per worksheet) with the name of the PDF based on the worksheet's name. She wonders if there is a way to do this in Excel.

There are ways to do it, depending on how much time you want to spend. If this is a "one off" occurrence, you might consider just printing each individual worksheet manually. Or, you could copy each worksheet to its own workbook and then print each workbook to PDF.

These are quite manually intensive, though. (Which is why I said they may be good for only "one off" occurrences.) If you would like something a bit more automatic, you'll want to turn to using a macro to do the PDF files. Here's an example of a short macro that will do the PDF creation for you:

Sub CreatePDFs()
    Dim wks As Worksheet
    Dim sFolder As String
    Dim sTemp As String

    sFolder = ActiveWorkbook.Path & "\"

    sTemp = "Created PDFs for the following worksheets"
    For Each wks In ActiveWorkbook.Worksheets
        If wks.Visible = xlSheetVisible Then
            sTemp = sTemp & vbCrLf & "   * " & wks.Name
            wks.ExportAsFixedFormat Type:=xlTypePDF, _
              Filename:=sFolder & wks.Name & ".pdf", _
              OpenAfterPublish:=False
        End If
    Next

    MsgBox sTemp
End Sub

Note that the path stored in the sFolder variable is set to whatever path is associated with the active workbook. (If you haven't saved the active workbook yet, then the macro will not run properly.) This path is the folder in which the PDF files are saved. If you want them saved in a different location, just change the value assigned to the sFolder variable.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (13570) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Determining If the End of a Text File Has Been Reached

When writing a macro that processes a text file, you may need to know when the end of the file has been reached. This is ...

Discover More

Deleting Graphics when Deleting a Row

If you use Excel to keep a graphic with each row of data you amass, you may wonder if there is a way to easily delete the ...

Discover More

Transposing Table Contents

When you transpose information, it is essentially "rotated" in a direction. If you transpose the information in a table, ...

Discover More

Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel 2013 Data Analysis and Business Modeling today!

More ExcelTips (ribbon)

Protecting Print Settings

Need to have your print settings always be a certain way? Tired of resetting the settings after others use the workbook ...

Discover More

Repeating Rows on a Printout Except On the Last Page

When setting up a worksheet for printing, you can specify that Excel repeat some of your rows at the top of each page ...

Discover More

Specifying an Order for Page Printing

If a printout of your worksheet requires multiple pages, you may want to specify the order in which Excel prints those ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is seven minus 1?

2018-10-23 15:50:33

Lissa

Thank you! That worked for me too!

I did try the macro once, but had that error as well and I haven't had a chance to comment and get a fix for it, until checking in today.

Lissa (original macro request submittal)


2018-10-10 10:29:01

Gary Lundblad

MF, that worked perfectly- thank you!!!

Gary


2018-10-09 23:50:12

MF

Filename:=sFolder & wks.Name & ".pdf", _

Hi Gary,
Try to change the last "full stop" to "comma" as above.
Regards,
MF


2018-10-09 16:28:36

Gary Lundblad

Thank you for the macro, but I receive a "Compile Error" on this portion of the code, which appeared red immediately after pasting it in. Any thoughts?
"wks.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=sFolder & wks.Name & ".pdf". _
OpenAfterPublish:=False"

Thank you!

Gary


2018-10-09 11:03:29

Gary Lundblad

Thank you for the macro, but I receive a "Compile Error" on this portion of the code, which appeared red immediately after pasting it in. Any thoughts?
"wks.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=sFolder & wks.Name & ".pdf". _
OpenAfterPublish:=False"

Thank you!

Gary


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.