
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to Convert Multiple Workbooks or Worksheets to PDF Files at Once in Excel?
Sometimes, while working in Excel, you have needed to convert an Excel workbook to PDF. It can be a time-consuming process if you try to do this manually. We can complete the task using the VBA application as it can't be completed directly in excel. Read this article to learn how you can convert multiple workbooks or worksheets to PDF files at once in Excel. Let us see the procedure in a briefer way.
Converting Multiple Workbooks to PDF Files at Once in Excel
Here we will first create a VBA module, then run it to select folders that contain workbooks and PDFs, then click OK to complete the task. Let us see a simple process to know how we can convert multiple workbooks to PDF files once they are in Excel.
Step 1
Let us consider a new Excel sheet, then right-click on the sheet name and select view code to open the vba application, then click on inset and select module.
Right click > View code > Inset > Module
Then, as shown in the image below, type the following program code into the text box.
Program 1
Sub ExcelSaveAsPDF() 'Update By Nirmal Dim strPath As String Dim xStrFile1, xStrFile2 As String Dim xWbk As Workbook Dim xSFD, xRFD As FileDialog Dim xSPath As String Dim xRPath, xWBName As String Dim xBol As Boolean Set xSFD = Application.FileDialog(msoFileDialogFolderPicker) With xSFD .Title = "Please select the folder contains the Excel files you want to convert:" .InitialFileName = "C:" End With If xSFD.Show <> -1 Then Exit Sub xSPath = xSFD.SelectedItems.Item(1) Set xRFD = Application.FileDialog(msoFileDialogFolderPicker) With xRFD .Title = "Please select a destination folder to save the converted files:" .InitialFileName = "C:" End With If xRFD.Show <> -1 Then Exit Sub xRPath = xRFD.SelectedItems.Item(1) & "" strPath = xSPath & "" xStrFile1 = Dir(strPath & "*.*") Application.ScreenUpdating = False Application.DisplayAlerts = False Do While xStrFile1 <> "" xBol = False If Right(xStrFile1, 3) = "xls" Then Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1) xbwname = Replace(xStrFile1, ".xls", "_pdf") xBol = True ElseIf Right(xStrFile1, 4) = "xlsx" Then Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1) xbwname = Replace(xStrFile1, ".xlsx", "_pdf") xBol = True ElseIf Right(xStrFile1, 4) = "xlsm" Then Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1) xbwname = Replace(xStrFile1, ".xlsm", "_pdf") xBol = True End If If xBol Then xWbk.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xRPath & xbwname & ".pdf" xWbk.Close SaveChanges:=False End If xStrFile1 = Dir Loop Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub

Step 2
Then save the sheet as a macro-enabled workbook, select the folder where the excel files are present, and click OK.

Step 3
Now select the folder where you want to store your PDF files and click OK to complete our process.

This is how we can convert multiple workbooks to PDF files at once in Excel.
If we need to convert multiple worksheets from a single workbook, we use Program 2 after opening the workbook.
Program 2
Sub SplitEachWorksheet() 'Update by Nirmal Dim xSPath As String Dim xSFD As FileDialog Dim xWSs As Sheets Dim xWb As Workbook Dim xWbs As Workbooks Dim xNWb As Workbook Dim xInt, xI As Integer Set xSFD = Application.FileDialog(msoFileDialogFolderPicker) With xSFD .title = "Please select a folder to save the converted files:" .InitialFileName = "C:" End With If xSFD.Show <> -1 Then Exit Sub xSPath = xSFD.SelectedItems.Item(1) Application.ScreenUpdating = False Application.DisplayAlerts = False Set xWb = Application.ActiveWorkbook Set xWbs = Application.Workbooks Set xWSs = xWb.Sheets Set xNWb = xWbs.Add xInt = xWSs.Count For xI = 1 To xInt On Error GoTo EBreak Set xWs = xWSs.Item(xI) If xWs.Visible Then xWSs(xWs.Name).Copy Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xSPath & "" & xWs.Name & ".pdf" Application.ActiveWorkbook.Close False End If EBreak: Next xWb.Activate Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
Conclusion
In this tutorial, we used a simple example to demonstrate how you can convert multiple Excel files to PDF files in Excel.