There are two possible approaches:
a. design your own label layout using Word columns. e.g. if your label
layout has 3 columns, design a WOrd layout with 3 "newspaper" columns, then
insert either one table with a single column, or 3 tables, each with a
single column
b. sort the records in your data source, e.g. using the following VBA macro
posted previously by Doug Robbins. Some of the lines may need to be put
back together inthe VB Editor. See e.g.
http://word.mvps.org/FAQs/MacrosVBA/CreateAMacro.htm
for info on how to use the 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
Peter Jamieson