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?
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
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:
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", _ Type:=8) 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 Loop x = 1 Next 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:
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.
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 button to select the title of the range, and then click the second button 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:
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
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 1 years agoOr 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.· 1 years agoThank you! The formula worked seamlessly!
To post as a guest, your comment is unpublished.· 1 years agoYou 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.· 1 years agowhere 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.
To post as a guest, your comment is unpublished.· 1 years agoDear 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.· 3 years agoAfter 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.