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 / November 2007

Tip: Looking for answers? Try searching our database.

I want to make "next record" go down the table, not across the tab

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
wriotu - 20 Nov 2007 02:19 GMT
I am setting up a directory of names and addresses.  Let's say it is 3
columns across by 10 rows down on each page.  On the first page, I want the
first 10 names to go in column 1, names 11-20 to go in column 2 and names
21-30 to go in column 3.  On the second page, I want names 31-40 to go in
column 1, etc...  By default, "next record" is causing names 1-3 to go in the
first row, names 4-6 to go in the second row, etc.

How can I cause next record to go down the page and then to the next colum?
Graham Mayor - 20 Nov 2007 06:11 GMT
Use a Directory/Catalog merge into a document set up as three columns. You
appear to be using a label format at present.

If you want to use a label format you will have to order your data source
appropriately for which p[urpose you can use one of Doug's handy macros.

Sub SortData()
' 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 = "8"    ' Set default.
labelrows = InputBox(Message, Title, Default)
With ActiveDocument.Tables(1)
.Columns.Add BeforeColumn:=ActiveDocument.Tables(1).Columns(1)
.Rows(1).Range.Cut
End With
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
End Sub

http://www.gmayor.com/installing_macro.htm

Signature

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor -  Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>

> I am setting up a directory of names and addresses.  Let's say it is 3
> columns across by 10 rows down on each page.  On the first page, I
[quoted text clipped - 6 lines]
> How can I cause next record to go down the page and then to the next
> colum?
 
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.