top of page

Excel vba code to format multiple workbooks for printing

Extend Office has Visual Basic code posted here, which can be used to run one macro on multiple workbooks. The below variation of this code will process multiple Excel spreadsheets saved in a single folder, and prepare them to be printed. The vba code will set the workbooks so that:

- all columns fit on a single page

- landscape orientation is set

- the first row repeats at the top of each page

- the name of the Excel file appears in the footer


Insert the code in a module of a blank workbook. When it's run it will prompt you to select a folder with the files to process.




The macro will open each file and set the specified formatting settings.



The files will not be saved automatically, but you can do this by holding down the SHIFT key and clicking the X to close Excel. You will be prompted to save all of the files.





Sub LoopThroughFiles()

Dim xFd As FileDialog

Dim xFdItem As Variant

Dim xFileName As String

Set xFd = Application.FileDialog(msoFileDialogFolderPicker)

If xFd.Show = -1 Then

xFdItem = xFd.SelectedItems(1) & Application.PathSeparator

xFileName = Dir(xFdItem & "*.xls*")

Do While xFileName <> ""

With Workbooks.Open(xFdItem & xFileName)

'your code here

Dim ws As Worksheet

Application.PrintCommunication = False

For Each ws In ActiveWorkbook.Worksheets

With ws.PageSetup

.Zoom = False

.PrintTitleRows = "$1:$2"

.FitToPagesWide = 1

.FitToPagesTall = 1000

.Orientation = xlLandscape

.CenterFooter = "&F"

End With

Next ws

End With

xFileName = Dir

Loop

End If

End Sub



Sean O'Shea has more than 20 years of experience in the litigation support field with major law firms in New York and San Francisco.   He is an ACEDS Certified eDiscovery Specialist and a Relativity Certified Administrator.

The views expressed in this blog are those of the owner and do not reflect the views or opinions of the owner’s employer.

If you have a question or comment about this blog, please make a submission using the form to the right. 

Your details were sent successfully!

© 2015 by Sean O'Shea . Proudly created with Wix.com

bottom of page