View Single Post
  #3   Report Post  
Doug Robbins
 
Posts: n/a
Default

Best thing is to use Access if you have it. It has a label wizard and gives
you that option for the order of the labels.

Here's a macro that can be used to sort a Word data source to achieve that
effect. You can use a directory type mailmerge to get the data into a word
table.

' 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 respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - Word MVP
"jageorge" wrote in message
...
I am trying to create labels in Word 2003 from an Excel sheet. I want to
arrange the labels vertically on the label sheet, instead of the default
horizontal. Basically, instead of having the first record appear on the
top
left label, and the next records following to the right of that label to
the
right edge of the page, then down to the next row, etc.; I want the next
records to follow below the first record, continue to the bottom of the
column, and then resume at the top of the second column. Is this possible?
If
so, how do I set up the merge to make it work this way?