Fill down instead of across

M

MACC

In creating lables and catalogs I want to fill down instead of across and can't find where or how to do this. No matter how I try or how many columns I set up it always fills across and then down. I would appreciate any help!
 
C

Charles Kenyon

I believe that if you use snaking columns it will go down. That is, you do
not use a table for your columns. Just a shot in the dark.


MACC said:
In creating lables and catalogs I want to fill down instead of across and
can't find where or how to do this. No matter how I try or how many columns
I set up it always fills across and then down. I would appreciate any help!
 
D

Doug Robbins - Word MVP

This will do it for you.

' Macro to assign numbers to data source so that it can be sorted to cause
' labels to print down columns
Dim Message, Title, Default, labelrows, labelcolumns, i As Integer, j As
Integer, k As Integer
Message = "Enter the number of labels in a row" ' Set prompt.
Title = "Labels per Row" ' Set title.
Default = "3" ' Set default.
' Display message, title, and default value.
labelcolumns = InputBox(Message, Title, Default)
Message = "Enter the number of labels in a column" ' Set prompt.
Title = "Labels per column" ' Set title.
Default = "5" ' Set default.
labelrows = InputBox(Message, Title, Default)
ActiveDocument.Tables(1).Columns.Add
BeforeColumn:=ActiveDocument.Tables(1).Columns(1)
ActiveDocument.Tables(1).Rows(1).Range.Cut
k = 1
For i = 1 To ActiveDocument.Tables(1).Rows.Count - labelcolumns
For j = 1 To labelrows
ActiveDocument.Tables(1).Cell(i, 1).Range.InsertBefore k + (j - 1) *
labelcolumns
i = i + 1
Next j
k = k + 1
i = i - 1
If k Mod labelcolumns = 1 Then k = k - labelcolumns + labelcolumns *
labelrows
Next i
ActiveDocument.Tables(1).Sort FieldNumber:="Column 1"
ActiveDocument.Tables(1).Rows(1).Select
Selection.Paste
ActiveDocument.Tables(1).Columns(1).Delete

--
Please post any further questions or followup to the newsgroups for the
benefit of others who may be interested. Unsolicited questions forwarded
directly to me will only be answered on a paid consulting basis.

Hope this helps
Doug Robbins - Word MVP
MACC said:
In creating lables and catalogs I want to fill down instead of across and
can't find where or how to do this. No matter how I try or how many columns
I set up it always fills across and then down. I would appreciate any help!
 
B

Bob S

In creating lables and catalogs I want to fill down instead of across and can't find where or how to do this. No matter how I try or how many columns I set up it always fills across and then down. I would appreciate any help!


The easy way is to use the snaking columns feature.

Start the mail merge and let Word generate the label table. Write down
the width of the label cells and the width of the small cells that
Word uses to separate the columns of labels. Count the number of label
columns, select all the rows, and use Table | Insert Rows once for
each column of labels after the first. For example, Avery 5260 has ten
rows and three columns, so you would select all ten rows and use
Insert Rows twice, giving 30 rows of three columns.

The next step is to select all columns (including the little spacer
columns) except the first label column, and use Table | Delete
Columns. For the example we would now have 30 rows in one column.

Now invoke Format | Columns. Set the number of columns to be the
number of columns on the label sheet, set the column width equal to
the table cell width, and set the space between columns equal to the
width of the original spacer columns. For the example, we would have
three columns, the column width would be 2.625" and the space between
columns would be 0.125".

You now have a label setup that will order records down then across.
You can now continue with the merge.

Bob S
 
D

Doug Robbins - Word MVP

Or use the following macro

' Macro to assign numbers to data source so that it can be sorted to cause
labels to print down columns
Dim Message, Title, Default, labelrows, labelcolumns, i As Integer, j As
Integer, k As Integer
Message = "Enter the number of labels in a row" ' Set prompt.
Title = "Labels per Row" ' Set title.
Default = "3" ' Set default.
' Display message, title, and default value.
labelcolumns = InputBox(Message, Title, Default)
Message = "Enter the number of labels in a column" ' Set prompt.
Title = "Labels per column" ' Set title.
Default = "5" ' Set default.
labelrows = InputBox(Message, Title, Default)
ActiveDocument.Tables(1).Columns.Add
BeforeColumn:=ActiveDocument.Tables(1).Columns(1)
ActiveDocument.Tables(1).Rows(1).Range.Cut
k = 1
For i = 1 To ActiveDocument.Tables(1).Rows.Count - labelcolumns
For j = 1 To labelrows
ActiveDocument.Tables(1).Cell(i, 1).Range.InsertBefore k + (j - 1) *
labelcolumns
i = i + 1
Next j
k = k + 1
i = i - 1
If k Mod labelcolumns = 1 Then k = k - labelcolumns + labelcolumns *
labelrows
Next i
ActiveDocument.Tables(1).Sort FieldNumber:="Column 1"
ActiveDocument.Tables(1).Rows(1).Select
Selection.Paste
ActiveDocument.Tables(1).Columns(1).Delete

--
Please post any further questions or followup to the newsgroups for the
benefit of others who may be interested. Unsolicited questions forwarded
directly to me will only be answered on a paid consulting basis.

Hope this helps
Doug Robbins - Word MVP
can't find where or how to do this. No matter how I try or how many columns
I set up it always fills across and then down. I would appreciate any help!
 

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

Top