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 2007

Tip: Looking for answers? Try searching our database.

mail merge data to flow up and down rather than left to right

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Zaria - 06 Jun 2007 20:11 GMT
When merging data into labels, how can i make the data merge from excell to
word and have it print up and down rather than left to right?
Peter Jamieson - 07 Jun 2007 10:14 GMT
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

> When merging data into labels, how can i make the data merge from excell
> to
> word and have it print up and down rather than left to right?
 
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.