A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Word » Mailmerge
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

mailmerge and 2-column table



 
 
Thread Tools Display Modes
  #1  
Old October 23rd, 2007, 04:08 AM posted to microsoft.public.word.mailmerge.fields
Eloy
external usenet poster
 
Posts: 19
Default mailmerge and 2-column table

A 2-column table merged with multiple records is filled in horizontally. Is
there any way that the table can be filled vertically? In other words, I
need the first column filled and then the second.
Thanks.
eloy
  #2  
Old October 23rd, 2007, 09:49 AM posted to microsoft.public.word.mailmerge.fields
Peter Jamieson
external usenet poster
 
Posts: 4,550
Default mailmerge and 2-column table

See the following posting by Graham Mayor/Doug RObbins:

--
Peter Jamieson
http://tips.pjmsn.me.uk

------------------------------------------------------------------------------

There is no function that allows this - however, if your data source is a
Word table (if not make it so -
http://www.gmayor.com/convert_labels...mail_merge.htm ) you can use one
of fellow MVP Doug Robbins' handy macros to reorder the data source to
produce this effect:

Sub SortLabelData()
' 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


--

Graham Mayor - Word MVP


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


------------------------------------------------------------------------------



"Eloy" wrote in message
...
A 2-column table merged with multiple records is filled in horizontally.
Is
there any way that the table can be filled vertically? In other words, I
need the first column filled and then the second.
Thanks.
eloy


 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 02:12 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.