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?
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
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.
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.· 2 years agoThank you! The formula worked seamlessly!
To post as a guest, your comment is unpublished.· 2 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.· 2 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.· 2 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.
To post as a guest, your comment is unpublished.· 4 years agoThank you for this information! It was very helpful and easy to use - even for somebody lacking strong computer skills (I used the first method)
To post as a guest, your comment is unpublished.· 6 years agoHello, I have a question related to the second option "Print long column on one page with VBA code".
If i have more than one column in range how can I use the same code. Let say the range of "$A$2:$C$118" how can i do it work.