MMLabel Data-Fill in from top to bottom

L

Loocie

My data file is in Excel 2003, into a Word 2003 MM label document. I want
the data in the merge field to insert in column 1 from top to bottom, then
column 2, from top to bottom, then column 3 . . . instead of row 1 left to
right, then row 2 left to right . . .l

My labels look like this:

Name
Address #MERGE FIELD ENTERED HERE (unit #)
City, ST Zip

The data source file includes the Unit Number in 1 column on different
wkshts (one for each different address)

It's a problem because I need to sort the mail piece in order for bulk
mailing permit . . .
 
P

Peter Jamieson

Here's a message Doug RObbins posted a while back, followed by some notes by
me:

---------------------------------------------------------------
If your data source is an Access database, it has a label report wizard that
will allow you to do that. If the data source is a table in a Word
document, the following macro will sort the data so that the labels are
printed in the order that you want:

' 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


If the data source is not a Word document, use a catalog (or in Word XP and
later it is called directory) type mailmerge main document to get the data
into the form of a Word table so that you can then use the above macro.
---------------------------------------------------------------------------------

If you have Access, it should be fairly easy either to link to or import
your Excel data.

Another way to create a Word document containing your data in a table is to
copy/paste your Excel sheet into a blank Word document.

Peter Jamieson
 

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