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 2005

Tip: Looking for answers? Try searching our database.

How do I specify the fill order of mail merge Labels?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Michael Tang - 27 Jun 2005 16:26 GMT
Hi,

When I setup the mail merge for printing labels, the labels are filled from
left to right, and top to bottom.

Is there a way to change the fill order to [top to bottom] and then [left to
right]?

That is, instead of the labels

A   B   C   D
E   F   G   H
I   J   K  L

I want

A   D   G   J
B   E   H   K
C   F   I   L

I did some research on this subject, and I only saw sugguestions to use
Macro or VB to programatically do this.  Does Word not have the function to
specify this fill direction?

Thanks,
Michael
Anne Troy - 27 Jun 2005 21:34 GMT
No, Michael. Word does not have a function to perform this action.
*******************
~Anne Troy

www.OfficeArticles.com
www.MyExpertsOnline.com

> Hi,
>
[quoted text clipped - 22 lines]
> Thanks,
> Michael
Doug Robbins - 27 Jun 2005 22:59 GMT
But, this macro can do what needs to be done to the data source to get the
labels to print that way.

' 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

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

> Hi,
>
[quoted text clipped - 25 lines]
> Thanks,
> Michael
Michael Tang - 29 Jun 2005 16:36 GMT
Thanks guys,

I will give this a shot.

> But, this macro can do what needs to be done to the data source to get the
> labels to print that way.
[quoted text clipped - 61 lines]
> > Thanks,
> > Michael

Rate this thread:






 
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.