Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Mailmerge and Fax / June 2006

Tip: Looking for answers? Try searching our database.

How do I alphabetize labels from top to bottom?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
hapa - 01 Jun 2006 19:34 GMT
I have created a mail merge into word labels from an existing excel
spreadsheet. The labels are alphabetized by rows...from left to right. How do
I get them alphabetized from top to bottom?
Doug Robbins - Word MVP - 01 Jun 2006 21:24 GMT
A couple of  ways to do this.  One is to modify the mailmerge main document
to a catalog or directory type document with as many columns as your label
sheets with the columns the same width as the labels and in the first column
insert a one cell table with the row height fixed to match the height of the
labels and the page top and bottom margins set to match those of the label
sheet.  When you execute this merge to a new document, that document will
contain one row in the table for each record in the data source, with the
data arranged in the order that you want.  If you got the mailmerge main
document set up right, you should then be able to print that document onto
your label stock

The other way is to use the following macro on the data source

' Macro created by Doug Robbins 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

Signature

Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

>I have created a mail merge into word labels from an existing excel
> spreadsheet. The labels are alphabetized by rows...from left to right. How
> do
> I get them alphabetized from top to bottom?
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.