Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
MMLabel Data-Fill in from top to bottom
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 . . . |
#2
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
MMLabel Data-Fill in from top to bottom
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 "Loocie" wrote in message ... 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 . . . |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Link Excel data to Word Form with automatic fill of other data | Microsoft Word Help | |||
Create a doc for client to fill out were new data doesn't alter or | Microsoft Word Help | |||
Lost bottom border of table in fill-in form | Tables | |||
How do I fill a Word table from data source? | Tables | |||
\\\\ to fill white space at bottom of page | Page Layout |