ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Setting up and Configuration of Excel (https://www.excelbanter.com/setting-up-configuration-excel/)
-   -   Can you print xcel in "newspaper colmn" fashion? (https://www.excelbanter.com/setting-up-configuration-excel/102801-can-you-print-xcel-newspaper-colmn-fashion.html)

Joe

Can you print xcel in "newspaper colmn" fashion?
 
I have a narrow (4 columns) but long (2200 rows) spreadsheet. I am trying to
print in multiple columns on one page (i.e. "newspaper colmns") before it
moves to page 2, etc. I am trying to avoid having 40 pages with one narrow
set of information on the page. I want it to print 2 or 3 "columns" on one
page before it moves to the next page.

Paul B

Can you print xcel in "newspaper colmn" fashion?
 
Joe, see if this will help

http://www.mvps.org/dmcritchie/excel/snakecol.htm

--
Paul B
Always backup your data before trying something new
Please post any response to the newsgroups so others can benefit from it
Feedback on answers is always appreciated!
Using Excel 2002 & 2003

"JOE" wrote in message
...
I have a narrow (4 columns) but long (2200 rows) spreadsheet. I am trying

to
print in multiple columns on one page (i.e. "newspaper colmns") before it
moves to page 2, etc. I am trying to avoid having 40 pages with one

narrow
set of information on the page. I want it to print 2 or 3 "columns" on

one
page before it moves to the next page.




Gord Dibben

Can you print xcel in "newspaper colmn" fashion?
 
Joe

This macro will snake 4 columns into 12

Public Sub Snake4to12()
Dim myRange As Range
Dim colsize As Long
Dim maxrow As Long
Const numgroup As Integer = 3
Const NUMCOLS As Integer = 12
On Error GoTo fileerror
colsize = Int((ActiveSheet.UsedRange.Rows.Count + _
((NUMCOLS - 1)) / NUMCOLS)) / numgroup
MsgBox "Number of Rows to Move is: " & colsize
Range("A1").Select
With ActiveCell.Parent.UsedRange
maxrow = .Cells(.Cells.Count).Row + 1
End With
ActiveCell.Parent.Cells(maxrow, ActiveCell.Column) _
.End(xlUp).Offset(1, 0).Select
Set myRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (NUMCOLS - 1)).Address)
myRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, ((NUMCOLS - 1) - numgroup))
Range("A1").Select
Cells.End(xlDown).Offset(1, 0).Select
Set NextRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (numgroup)).Address)
NextRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, (NUMCOLS / numgroup))
Application.CutCopyMode = False
Range("A1").Select
fileerror:
End Sub


Gord Dibben MS Excel MVP


On Wed, 2 Aug 2006 12:42:10 -0700, JOE wrote:

I have a narrow (4 columns) but long (2200 rows) spreadsheet. I am trying to
print in multiple columns on one page (i.e. "newspaper colmns") before it
moves to page 2, etc. I am trying to avoid having 40 pages with one narrow
set of information on the page. I want it to print 2 or 3 "columns" on one
page before it moves to the next page.



Joe

Can you print xcel in "newspaper colmn" fashion?
 
UH....I will give these a try. Much much more than I ever anticipated!
Anyone know why it is not just a simple push button command like in Word?!
Do either of you guys happen to work for Microsoft?

Thanks for the help!

"Gord Dibben" wrote:

Joe

This macro will snake 4 columns into 12

Public Sub Snake4to12()
Dim myRange As Range
Dim colsize As Long
Dim maxrow As Long
Const numgroup As Integer = 3
Const NUMCOLS As Integer = 12
On Error GoTo fileerror
colsize = Int((ActiveSheet.UsedRange.Rows.Count + _
((NUMCOLS - 1)) / NUMCOLS)) / numgroup
MsgBox "Number of Rows to Move is: " & colsize
Range("A1").Select
With ActiveCell.Parent.UsedRange
maxrow = .Cells(.Cells.Count).Row + 1
End With
ActiveCell.Parent.Cells(maxrow, ActiveCell.Column) _
.End(xlUp).Offset(1, 0).Select
Set myRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (NUMCOLS - 1)).Address)
myRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, ((NUMCOLS - 1) - numgroup))
Range("A1").Select
Cells.End(xlDown).Offset(1, 0).Select
Set NextRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (numgroup)).Address)
NextRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, (NUMCOLS / numgroup))
Application.CutCopyMode = False
Range("A1").Select
fileerror:
End Sub


Gord Dibben MS Excel MVP


On Wed, 2 Aug 2006 12:42:10 -0700, JOE wrote:

I have a narrow (4 columns) but long (2200 rows) spreadsheet. I am trying to
print in multiple columns on one page (i.e. "newspaper colmns") before it
moves to page 2, etc. I am trying to avoid having 40 pages with one narrow
set of information on the page. I want it to print 2 or 3 "columns" on one
page before it moves to the next page.




Gord Dibben

Can you print xcel in "newspaper colmn" fashion?
 
Excel does not have great word processing capabilities because it is basically a
number crunching application, unlike Word which is designed for word processing.

That is why MS has developed the MS Office Suite with several
applications........one application cannot possibly do it all.

I don't work for Microsoft.

If not familiar with VBA and macros, see David McRitchie's site for more on
"getting started".

http://www.mvps.org/dmcritchie/excel/getstarted.htm

In the meantime..........

First...create a backup copy of your original workbook.

To create a General Module, hit ALT + F11 to open the Visual Basic Editor.

Hit CRTL + R to open Project Explorer.

Find your workbook/project and select it.

Right-click and InsertModule. Paste the code in there. Save the
workbook and hit ALT + Q to return to your workbook.

Run the macro by going to ToolMacroMacros.

You can also assign this macro to a button or a shortcut key combo.


Gord

On Thu, 3 Aug 2006 06:54:01 -0700, JOE wrote:

UH....I will give these a try. Much much more than I ever anticipated!
Anyone know why it is not just a simple push button command like in Word?!
Do either of you guys happen to work for Microsoft?

Thanks for the help!

"Gord Dibben" wrote:

Joe

This macro will snake 4 columns into 12

Public Sub Snake4to12()
Dim myRange As Range
Dim colsize As Long
Dim maxrow As Long
Const numgroup As Integer = 3
Const NUMCOLS As Integer = 12
On Error GoTo fileerror
colsize = Int((ActiveSheet.UsedRange.Rows.Count + _
((NUMCOLS - 1)) / NUMCOLS)) / numgroup
MsgBox "Number of Rows to Move is: " & colsize
Range("A1").Select
With ActiveCell.Parent.UsedRange
maxrow = .Cells(.Cells.Count).Row + 1
End With
ActiveCell.Parent.Cells(maxrow, ActiveCell.Column) _
.End(xlUp).Offset(1, 0).Select
Set myRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (NUMCOLS - 1)).Address)
myRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, ((NUMCOLS - 1) - numgroup))
Range("A1").Select
Cells.End(xlDown).Offset(1, 0).Select
Set NextRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (numgroup)).Address)
NextRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, (NUMCOLS / numgroup))
Application.CutCopyMode = False
Range("A1").Select
fileerror:
End Sub


Gord Dibben MS Excel MVP


On Wed, 2 Aug 2006 12:42:10 -0700, JOE wrote:

I have a narrow (4 columns) but long (2200 rows) spreadsheet. I am trying to
print in multiple columns on one page (i.e. "newspaper colmns") before it
moves to page 2, etc. I am trying to avoid having 40 pages with one narrow
set of information on the page. I want it to print 2 or 3 "columns" on one
page before it moves to the next page.





Joe

Can you print xcel in "newspaper colmn" fashion?
 
Thanks for the help.

"Gord Dibben" wrote:

Excel does not have great word processing capabilities because it is basically a
number crunching application, unlike Word which is designed for word processing.

That is why MS has developed the MS Office Suite with several
applications........one application cannot possibly do it all.

I don't work for Microsoft.

If not familiar with VBA and macros, see David McRitchie's site for more on
"getting started".

http://www.mvps.org/dmcritchie/excel/getstarted.htm

In the meantime..........

First...create a backup copy of your original workbook.

To create a General Module, hit ALT + F11 to open the Visual Basic Editor.

Hit CRTL + R to open Project Explorer.

Find your workbook/project and select it.

Right-click and InsertModule. Paste the code in there. Save the
workbook and hit ALT + Q to return to your workbook.

Run the macro by going to ToolMacroMacros.

You can also assign this macro to a button or a shortcut key combo.


Gord

On Thu, 3 Aug 2006 06:54:01 -0700, JOE wrote:

UH....I will give these a try. Much much more than I ever anticipated!
Anyone know why it is not just a simple push button command like in Word?!
Do either of you guys happen to work for Microsoft?

Thanks for the help!

"Gord Dibben" wrote:

Joe

This macro will snake 4 columns into 12

Public Sub Snake4to12()
Dim myRange As Range
Dim colsize As Long
Dim maxrow As Long
Const numgroup As Integer = 3
Const NUMCOLS As Integer = 12
On Error GoTo fileerror
colsize = Int((ActiveSheet.UsedRange.Rows.Count + _
((NUMCOLS - 1)) / NUMCOLS)) / numgroup
MsgBox "Number of Rows to Move is: " & colsize
Range("A1").Select
With ActiveCell.Parent.UsedRange
maxrow = .Cells(.Cells.Count).Row + 1
End With
ActiveCell.Parent.Cells(maxrow, ActiveCell.Column) _
.End(xlUp).Offset(1, 0).Select
Set myRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (NUMCOLS - 1)).Address)
myRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, ((NUMCOLS - 1) - numgroup))
Range("A1").Select
Cells.End(xlDown).Offset(1, 0).Select
Set NextRange = Range(ActiveCell.Address & ":" _
& ActiveCell.Offset(-colsize, (numgroup)).Address)
NextRange.Cut Destination:=ActiveSheet.Range("A1") _
.Offset(0, (NUMCOLS / numgroup))
Application.CutCopyMode = False
Range("A1").Select
fileerror:
End Sub


Gord Dibben MS Excel MVP


On Wed, 2 Aug 2006 12:42:10 -0700, JOE wrote:

I have a narrow (4 columns) but long (2200 rows) spreadsheet. I am trying to
print in multiple columns on one page (i.e. "newspaper colmns") before it
moves to page 2, etc. I am trying to avoid having 40 pages with one narrow
set of information on the page. I want it to print 2 or 3 "columns" on one
page before it moves to the next page.






All times are GMT +1. The time now is 05:14 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com