An Easier Way to Save Paper

T

Takeadoe

Good moring,

I've got 2 variables (columns) and 400 records. At 50 records per
page, this will take 8 pages to print. I could manually move records
and create 8 columns which would reduce the printed pages to 2!
However, this is a major pain. Is there a better way?

Thanks in advance.

Mike
 
J

Jim Cone

There is no built-in way to do that in Excel.

1. You can paste the data into Word and use Format | Columns
-or -
2. Build your own method with VBA code as Pete_UK pointed out.
-or -
3. Try my "Special Print" Excel add-in with its "Side by Side" utility.
(free three week trial, no registration, no advertising)
It creates 2, 3 or 4 up column groupings across the worksheet page (from single or multiple columns)
and maintains data continuity across all pages and accounts for any header area.
A new sheet with the column arrangement is created, your original data is not affected.
'---
Jim Cone
Portland, Oregon USA
http://tinyurl.com/SpecialPrint

..
..

"Takeadoe" <[email protected]>
wrote in message
Good moring,

I've got 2 variables (columns) and 400 records. At 50 records per
page, this will take 8 pages to print. I could manually move records
and create 8 columns which would reduce the printed pages to 2!
However, this is a major pain. Is there a better way?

Thanks in advance.

Mike
 
D

Dave Peterson

I like to copy|paste the data into MSWord.

Then I can use the columns formatting feature to make it look pretty.

And if the data doesn't have any formulas, I might even keep the data in MSWord.
 
G

Gord Dibben

Sub Move_Sets()
'pagebreak inserted
Dim iSource As Long
Dim iTarget As Long

iSource = 1
iTarget = 1

Do
Cells(iSource, "A").Resize(50, 2).Cut _
Destination:=Cells(iTarget, "A")
Cells(iSource + 50, "A").Resize(50, 2).Cut _
Destination:=Cells(iTarget, "C")
Cells(iSource + 100, "A").Resize(50, 2).Cut _
Destination:=Cells(iTarget, "E")
Cells(iSource + 150, "A").Resize(50, 2).Cut _
Destination:=Cells(iTarget, "G")
iSource = iSource + 200
iTarget = iTarget + 50
Loop Until IsEmpty(Cells(iSource, "A"))

For i = 51 To Cells(Rows.Count, "a").End(xlUp).Row Step 50
Cells(i, 1).Select
ActiveSheet.HPageBreaks.Add Before:=ActiveCell
Next i

End Sub


Gord Dibben MS Excel MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top