Group:  Microsoft Excel ยป microsoft.public.excel.setup
Thread: Can you print xcel in "newspaper colmn" fashion?

DotNetBag
.NET Development Newsgroups

HTVi
TV Discussion Newsgroups

Our Hot Pick: Rising Antivirus 2006 - Certified by TUV & Checkmark! Get 10% discount by entering this coupon code: ONDISCOUNT10
Rising Antivirus 2006

Can you print xcel in "newspaper colmn" fashion?
JOE 02.08.2006 19:42:10
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.
Re: Can you print xcel in "newspaper colmn" fashion?
"Paul B" <to_much_spam_to_list[ at ]nospam.com> 02.08.2006 21:24:09
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" <JOE[ at ]discussions.microsoft.com> wrote in message
news:4DF5B39D-3CC7-4B13-B89B-90FA70063DBC[ at ]microsoft.com...
[Quoted Text]
> 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.


Re: Can you print xcel in "newspaper colmn" fashion?
Gord Dibben <gorddibbATshawDOTca> 02.08.2006 23:17:10
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 <JOE[ at ]discussions.microsoft.com> wrote:

[Quoted Text]
>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.

Re: Can you print xcel in "newspaper colmn" fashion?
JOE 03.08.2006 13:54:01
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:

[Quoted Text]
> 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 <JOE[ at ]discussions.microsoft.com> 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.
>
>
Re: Can you print xcel in "newspaper colmn" fashion?
Gord Dibben <gorddibbATshawDOTca> 03.08.2006 16:20:02
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 Insert>Module. Paste the code in there. Save the
workbook and hit ALT + Q to return to your workbook.

Run the macro by going to Tool>Macro>Macros.

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 <JOE[ at ]discussions.microsoft.com> wrote:

[Quoted Text]
>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 <JOE[ at ]discussions.microsoft.com> 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.
>>
>>

Re: Can you print xcel in "newspaper colmn" fashion?
JOE 03.08.2006 16:35:01
Thanks for the help.

"Gord Dibben" wrote:

[Quoted Text]
> 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 Insert>Module. Paste the code in there. Save the
> workbook and hit ALT + Q to return to your workbook.
>
> Run the macro by going to Tool>Macro>Macros.
>
> 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 <JOE[ at ]discussions.microsoft.com> 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 <JOE[ at ]discussions.microsoft.com> 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.
> >>
> >>
>
>

Home | Search | Terms | Imprint | Contact
Newsgroups Reader - provided by WiredBox.Net