How to print each row/cell on a separate page in Excel?
For example you have a salary table, and you want to print each record in a separate page in Excel, how do you deal with it? This article will introduce three methods to get it done easily in Excel.
- Print each row/cell on a separate page with adjusting row height
- Print each row/cell on a separate page with VBA
- Print each row/cell on a separate page with Kutools for Excel (with title row)
- Print each row on a separate page with Kutools for Excel (without title row)
If a row is high enough to take up a print page, the row will be printed in a single page. Therefore, this method will guide you to adjust the row height to print each row/cell on a separate page in Excel.
1. Click the Page Layout > Margins > Custom Margins.
2. In the opening Page Setup dialog box, type 2.5 into both Top box and Bottom box, and click the OK button.
Note: The number of top margin and bottom margin may be different based on your paper size. You may need to adjust it in your case.
3. Select all rows that you will print each in single page, right click the row header and select Row Height from the right-clicking menu.
4. In the opening Row Height dialog box, type 250 into the Row height box, and click the OK button.
5. Click the File (or Office button)> Print, you will see each row in a separate page in the Print Previewing area as below screen shot shown, and click the Print button to print them.
Here we also provide a VBA code to print each row/cell on a separate page in Excel.
1. Press the Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. Click the Insert > Module, and then paste the following code into the opening Module window.
VBA: Print each row/cell on a separate page in Excel
Sub PrintOneLine() Dim Rng As Range Dim WorkRng As Range Dim xWs As Worksheet On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) Set xWs = WorkRng.Parent For Each Rng In WorkRng xWs.PageSetup.PrintArea = Rng.EntireRow.Address xWs.PrintPreview Next End Sub
3. Press the F5 key or click the Run button to run this VBA. Then a dialog box comes out, please specify the range that you will print each row in a separate page, and click the OK button.
4. Now each row is previewed in an individual Print Preview window. You need to click the Print button in each Print Preview window one by one until all rows are printed.
If you have Kutools for Excel installed, its Split to Columns utility can help you print each row/cell on a separate page in Excel easily.
1. Click the Kutools Plus > Split to Columns.
2. In the opening Split to Columns dialog box, you need to:
(1) In the Titles range box, specify the title range that you will insert at the top of each printed page;
(2) In the Data range box, specify the data range that you will print each row in an individual page;
(3) In the Rows per printed page box, type 1;
(4) In the Number of Segments box, type 1.
(5) Click the Ok button.
Then you will see each row is split to a single print page in a new worksheet, and the specified title range is added into every print page. See below screen shot:
Note: To see each print page more obviously, you can click the View > Page Break Preview to shift to the Page Break Preview view.
3. Click the File (or Office button) > Print, you will see each row/cell is displayed in an individual page.
Apart from the Split to Column utility, Kutools for Excel developed another Insert Page Break Every Row utility to help you print each row on a separate page in Excel.
1. Select the range that you will print each row on a separate page, and click the Kutools Plus > Printing > Insert Page Break Every Row.
2. In the Opening Insert Page Break Every Row dialog, type 1 into the Interval of box, and click the Ok button.
Then a dialog box will come out and tell you how many page breaks have been inserted. Just click the OK button to close it.
3. Click the File (or Office button) > Print to print each row on a separate page easily.