3 Ways To Print Column Headings in Microsoft Excel

Today, you’ll learn how to print column headings in Microsoft Excel on every sheet of paper you print.

If youโ€™ve ever printed an Excel spreadsheet only to realize the column headings didnโ€™t show up on every page, youโ€™re not alone. Itโ€™s like preparing a client report with no labels on the chartsโ€”you lose context, and the data becomes confusing.

Printing column headers in Excel may sound like a basic task, but figuring it out can feel surprisingly tricky, especially under a deadline. Iโ€™ve been there, and thatโ€™s why I put together this simple, step-by-step guide. Youโ€™ll learn exactly how to make those headings stick. Letโ€™s walk through it together, and by the end of the next section, youโ€™ll have it down.

Repeat Rows at Top (Page Layout)

The Rows to repeat at top feature in Excel lets you print the same row, usually your column headers, at the top of every printed page. Youโ€™ll find it in the Page Layout tool’s Sheet tab, and it works in most modern Excel versions, including Excel 2013, 2016, 2019, and Microsoft 365. This method is great because itโ€™s quick, visual, and keeps your printed data clear and easy to read, especially in longer spreadsheets.

Now, let me show you the exact steps to achieve this below:

Print Titles
Print Titles

Open the Excel file you want to print and make sure your column headers are in the first row.

Click on the Page Layout tab in the ribbon at the top of Excel

Look for the Print Titles button in the Page Setup group and click on it.

Sheet Options
Sheet Options

Alternatively, you can click on the Sheet Options extension arrow or the Sheet Page Setup arrow. Its position has been marked in the screenshot given above.

A window called Page Setup will openโ€”this is where you get all fine-tuning options before printing your worksheets.

Rows to repeat at top
Rows to repeat at top

In the Sheet tab of that window, find the box labeled Rows to repeat at top.

Click inside that box, then click on the row number(s) that contain your headers (for example, click the row 1 to select it).

Excel will automatically insert something like $1:$1. It means the row 1 is now set to repeat.

Click OK to save the setting and close the Page Setup window.

Now, go to File > Print (or hit Ctrl + P) and preview your printout to make sure the headers appear on every page. Scroll down on the Print Preview screen to cycle through pages.

If it looks good, go ahead and printโ€”your column headings will show up on every page, just the way they should.

One common challenge with this method is that it only works for rows, not columnsโ€”so if your spreadsheet scrolls sideways instead of down, this wonโ€™t help.

Also, if your headers arenโ€™t in the first row, youโ€™ll have to adjust manually, which sometimes confuses. Because of these little bottlenecks, especially when youโ€™re dealing with more complex layouts, itโ€™s worth checking out the next method for more flexibility when it comes to selected section printing.

Using Print Area With Headers

Suppose you need to print small portions of the dataset but not the whole report. Here, you need to use the Print Area feature of Excel. Now, if you need column headers in all the small sections you’re printing, you can use the Header feature.

Itโ€™s available in all modern Excel versions, from Excel 2013 to Microsoft 365. This method is preferable when you want full control over what prints, especially in large sheets where only a section needs to go on paper. However, it still includes the headers for clarity.

Let me walk you through the process below:

Set Print Area
Set Print Area

Open your Excel sheet and make sure your column headings are in the top row of the section you want to print.

Select an area you wish to print.

To select more than one print area, press Ctrl on the keyboard and then select the print areas throughout the worksheet.

Go to the Page Layout tab in the ribbon at the top of Excel

Click the Print Area drop-down menu in the Page Setup group.

Choose Set Print Area from the drop-downโ€”Excel will now treat only that selection as printable.

To check if itโ€™s working, go to File > Print or hit Ctrl + P to bring up the print preview.

Each print area will be printed on a separate sheet. So, scroll down on the Print Preview screen to find all the print areas you’ve created.

Copy column header
Copy column header

Now, go back to the source worksheet and copy the first row or the column header.

Page Layout Header
Page Layout Header

Click on the View tab. Select the Page Layout view command in the Workbook Views commands block.

Pasted column headers
Pasted column headers

Select the Header area at the top of the Page Layout view of the worksheet and paste the column headers there.

Click on any blank space
Click on any blank space

Now, click anywhere else on the worksheet except the Header and Footer area.

Printing column header using Headers
Printing column header using Headers

Now, press Ctrl + P and you should see the column headers show up in the header area of all the pages to be printed.

The column headers will be a bit left-aligned and not appropriately aligned with the data printed below.

To avoid misalignment, you can copy the column header or the first row in your dataset and paste that manually above each print area. You’ll have to readjust the print area since the pasted row doesn’t automatically get included in an existing print area.

The major drawback of the Print Area and Headers-based method is not fully aligned header and data rows. You can try out the next method to overcome this drawback when printing small chunks of data from a large dataset.

Using VBA Macro (Automate Header Printing)

So far, you have learned and practiced two manual methods to print column headings in Excel. Now, let me show you how you can automate the process using an Excel VBA macro. In this method, you don’t just automate the column header printing process but also introduce convenience and additional features to make the process efficient.

Firstly, read this quick Excel guide to learn the steps to create a macro from a VBA script:

๐Ÿ“’ Read More: How To Use The VBA Code You Find Online

Once you’re ready to set up your first VBA macro, proceed with the steps mentioned below.

You can use this VBA script to create a macro:

VBA Script
VBA Script
Sub PrintWithHeadings()

    Dim headingRange As Range
    Dim userChoice As VbMsgBoxResult
    Dim printRanges() As Range
    Dim selectedRange As Range
    Dim ws As Worksheet
    Dim i As Integer
    Dim promptMsg As String
    
    Set ws = ActiveSheet
    
    ' Step 1: Select column heading
    On Error Resume Next
    Set headingRange = Application.InputBox("Select the column heading range to repeat on each page:", Type:=8)
    If headingRange Is Nothing Then
        MsgBox "No heading selected. Exiting script."
        Exit Sub
    End If
    On Error GoTo 0
    
    ' Set print titles (row only)
    With ws.PageSetup
        .PrintTitleRows = headingRange.EntireRow.Address
        .PrintTitleColumns = "" ' Optional: modify if you want columns repeated
    End With
    
    ' Step 2: Ask user whether to print whole dataset
    userChoice = MsgBox("Do you want to print the entire worksheet?", vbYesNoCancel + vbQuestion, "Print Option")
    
    If userChoice = vbCancel Then Exit Sub
    
    If userChoice = vbYes Then
        ws.PageSetup.PrintArea = ""
        ws.PrintOut
        Exit Sub
    End If
    
    ' If No, allow up to 4 range selections
    ReDim printRanges(1 To 4)
    
    For i = 1 To 4
        promptMsg = "Select print range #" & i & " (Cancel to stop selecting):"
        On Error Resume Next
        Set selectedRange = Application.InputBox(promptMsg, Type:=8)
        On Error GoTo 0
        If selectedRange Is Nothing Then Exit For
        Set printRanges(i) = selectedRange
    Next i
    
    ' Print selected ranges with heading on each page
    For i = 1 To 4
        If Not printRanges(i) Is Nothing Then
            ws.PageSetup.PrintArea = printRanges(i).Address
            ws.PrintOut
        End If
    Next i

    ' Clear print area after done
    ws.PageSetup.PrintArea = ""

End Sub

Here are the features and tasks that the VBA macro will accomplish automatically:

Select column header
Select column header
  1. Prompts you to select the column heading row using your mouse.
Scope selection
Scope selection
  1. Asks whether you want to print the entire worksheet or just specific sections.
Print area selection
Print area selection
  1. If you choose to print the entire worksheet:
    • It includes the selected column headings on top of every printed page.
    • It sends the entire worksheet to the printer.
  2. If you choose to print only specific sections:
    • It gives you up to four chances to select different print ranges from the worksheet.
  3. You can cancel at any point, and it will proceed with whatever ranges you’ve selected so far.
Second print area
Second print area
  1. For each selected range:
    Second print area
    • It sets that range as the print area.
    • It prints the range with the selected headings appearing on each printed page.
  2. After printing, it clears the print area setting to avoid affecting future prints.
Macro dialog box
Macro dialog box

Press Alt + F8 to launch the Macro dialog box.

Select the PrintWithHeadings macro and hit Run.

Follow onscreen instructions to print column headings.

Print Column Headings in Microsoft Excel using VBA
Print Column Headings in Microsoft Excel using VBA

Find above any example of the PDF that I printed using this VBA script.

The script will print one large document if you select the whole dataset. Contrarily, if you choose small sections from the dataset, the script will print the selected sections in different sheets while adding the selected column heading at the top.

Conclusions

From now on, if anyone asks you how to print column headings in Microsoft Excel, you can present or explain any of the methods mentioned in this article.

If you liked the article or what I presented, share your acknowledgements, feedback, and comments in the comments block below.

About the Author

Bipasha Nath

Bipasha Nath

Bipasha is a technical content writer with 10+ years of experience in the technology industry. She previously worked in a SaaS software development company focused on SharePoint, OneDrive, Word, Excel, Word solutions.

Related Posts

Comments

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Get the Latest Microsoft Excel Tips

Subscribe

Subscribe to the free newsletter and get access to all theย Excel resources!

Follow Us

Follow us to stay up to date with the latest in Microsoft Excel!

Subscribe for awesome Microsoft Excel videos ๐Ÿ˜ƒ