Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in


How to print long column on one page in Excel?

Supposing you have a long list of data in a column, maybe 200 rows, and now you need to print them, but when you print, it uses about 5 page paper, with only one column at the left side, and much white space on the right side. In word, you can column, but Excel doesn't have this function. How do you print the long list data on one page to save the paper?

Print long column on one page with formula

Print long column on one page with VBA code

Print long column on one page with Kutools for Excel

Excel Productivity Tools

Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial

Kutools for Excel: Save 70% of your time and solve 80% Excel problems for you. 300+ advanced features designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial

arrow blue right bubble Print long column on one page with formula

Here I can introduce you a long formula to solve this problem, please do as this:

1. In a new worksheet of your active workbook, enter the formula =IF(OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)="","",OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)) into the cell A1.

Notes: Sheet1 is the worksheet which has the long list that you want to column.

45 is the row number that you want to list the data in a column.

They are all variables, and you can change them as your need.

2. Then select cell A1, and drag the fill handle down to row 45, and then go on dragging the fill handle across to right until the data has been displayed. And the long column has been divided into several columns to fit on one page in a new worksheet. See screenshot:


arrow blue right bubble Print long column on one page with VBA code

The following VBA code also can help you divide a long list of data into several columns, so that you can print the data and save paper.

1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

Sub SingleToMultiColumn()
    Dim rng As Range
    Dim iCols As Integer
    Dim lRows As Long
    Dim iCol As Integer
    Dim lRow As Long
    Dim lRowSource As Long
    Dim x As Long
    Dim wks As Worksheet
    Set rng = Application.InputBox _
      (prompt:="Select the range to convert", _
    iCols = InputBox("How many columns do you want?")
    lRowSource = rng.Rows.Count
    lRows = lRowSource / iCols
    If lRows * iCols <> lRowSource Then lRows = lRows + 1
    Set wks = Worksheets.Add
    lRow = 1
    x = 1
    For iCol = 1 To iCols
        Do While x <= lRows And lRow <= lRowSource
            Cells(x, iCol) = rng.Cells(lRow, 1)
            x = x + 1
            lRow = lRow + 1
        x = 1
End Sub

3. Then press the F5 key to run this code, and select the list data that you want to divide in the popped up dialog box, see screenshot:


4. Click OK, and enter the number of columns you want to divide. See screenshot:


5. And click OK, the long column has been divided into five columns in a new worksheet. See screenshots:

doc-print-long-column4 -2 doc-print-long-column5

arrow blue right bubble Print long column on one page with Kutools for Excel

Both the long formula and the VBA code may be difficult for you, here I can introduce you an easy and convenient method to solve this problem. Kutools for Excel’s Print Multiple Columns function can help you quickly divide the long column into several columns so that you can print them reasonably.

Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 30 days. Get it Now.

When you have installed Kutools for Excel, you can do as following steps:

1. Click Enterprise > Print Multiple Columns, see screenshot:


2. In the Print Multiple Columns dialog box:

  • Click the first doc-button button to select the title of the range, and then click the second doc-buttonbutton to select the column that you want to divide.
  • Then specify the number of rows you want to put per page from Rows per printed page, and enter the number of columns that you want in one page under Number of segments. See screenshot:


3. Then click OK, the long list data has been divided into five columns in a page. See screenshots:

doc-print-long-column8 -2 doc-print-long-column9


1. The title will be added before every column.

2. If you check Create a link with the active sheet option, the new worksheet data can be linked to the source data.

If you want to know more about this feature, please click Print Multiple Columns.

Excel Productivity Tools

Ribbon of Excel (with Kutools for Excel installed)

300+ Advanced Features Increase Your Productivity by 70%, and Help You To Stand Out From Crowd!

Would you like to complete your daily work quickly and perfectly? Kutools For Excel brings 300+ cool and powerful advanced features (Combine workbooks, sum by color, split cell contents, convert date, and so on...) for 1500+ work scenarios, helps you solve 80% Excel problems.

  •  Deal with all complicated tasks in seconds, help to enhance your work ability, get success from the fierce competition, and never worry about being fired.
  •  Save a lot of work time, leave much time for you to love and care the family and enjoy a comfortable life now.
  •  Reduce thousands of keyboard and mouse clicks every day, relieve your tired eyes and hands, and give you a healthy body.
  •  Become an Excel expert in 3 minutes, and get admiring glance from your colleagues or friends.
  •  No longer need to remember any painful formulas and VBA codes, have a relaxing and pleasant mind, give you a thrill you've never had before.
  •  Spend only $39, but worth than $4000 training of others. Being used by 110,000 elites and 300+ well-known companies.
  •  60-day unlimited free trial. 60-day money back guarantee. Free upgrade and support for 2 years. Buy once, use forever.
  •  Change the way you work now, and give you a better life immediately!

Office Tab Brings Efficient And Handy Tabs to Office (include Excel), Just Like Chrome, Firefox, And New IE

  • Increases your productivity by 50% when viewing and editing multiple documents.
  • Reduce hundreds of mouse clicks for you every day, say goodbye to mouse hand.
  • Open and create documents in new tabs of same window, rather than in new windows.
  • Help you work faster and easily stand out from the crowd! One second to switch between dozens of open documents!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    George · 1 years ago
    Or you can just copy the table, and paste it in a word document, with as many columns you want to have.
  • To post as a guest, your comment is unpublished.
    Beckett Kirk · 1 years ago
    Thank you! The formula worked seamlessly!
  • To post as a guest, your comment is unpublished.
    Jake Kacher · 1 years ago
    You can use a simple formula =OFFSET(Sheet1!$A$1,(ROW()-2)*5+COLUMN(),0) to let the data flow horizontally in 5 columns.
    Then you can select Page size, print first row on each page, etc. Simple, neat, no VBA
    • To post as a guest, your comment is unpublished.
      Jen · 1 years ago
      where does this formula go? I am trying to print multiple rows with several columns on one page in a multiple row layout. Similar to this:

      john smith week 1
      john smith week 2
      john smith totals

      I have over 100 rows with up to IJ
    • To post as a guest, your comment is unpublished.
      Tara · 1 years ago
      Is there a way to modify this formula to work with 3 columns instead of 1?
      • To post as a guest, your comment is unpublished.
        Jeremy · 1 years ago
        I would be interested in a solution like this as well.
  • To post as a guest, your comment is unpublished.
    Mohsin Dastgeer · 1 years ago
    Dear Sir
    Thanks for this work, This VBA Code is very helpful for my work, I am glad to complete my task in seconds. Thank You. ....
  • To post as a guest, your comment is unpublished.
    Ron · 3 years ago
    After searching the internet for hours, I stumbled across this. Its exactly what I was looking for. Nice job and thanks for taking the time out for this.