Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Sounds like you are probably trying to perform a "multiple items per
condition (=key field)" mailmerge which Word does not really have the ability to do: See the "Group Multiple items for a single condition" item on fellow MVP Cindy Meister's website at http://homepage.swissonline.ch/cindy...faq1.htm#DBPic Or take a look at the following Knowledge Base Article http://support.microsoft.com/default...b;en-us;211303 http://cornell.veplan.net/article.aspx?&a=3815 Or, if you create a Catalog (on in Word XP and later, it's called Directory) type mailmerge main document with the mergefields in the cells of a one row table in the mailmerge main document with the keyfield in the first cell in the row and then execute that merge to a new document and then run the following macro, it will create separate tables with the records for each key field in them. With a bit of further development, you may be able to get it to do what you want. ' Macro to create multiple items per condition in separate tables from a directory type mailmerge Dim source As Document, target As Document, scat As Range, tcat As Range Dim data As Range, stab As Table, ttab As Table Dim i As Long, j As Long, k As Long, n As Long Set source = ActiveDocument Set target = Documents.Add Set stab = source.Tables(1) k = stab.Columns.Count Set ttab = target.Tables.Add(Range:=Selection.Range, numrows:=1, numcolumns:=k - 1) Set scat = stab.Cell(1, 1).Range scat.End = scat.End - 1 ttab.Cell(1, 1).Range = scat j = ttab.Rows.Count For i = 1 To stab.Rows.Count Set tcat = ttab.Cell(j, 1).Range tcat.End = tcat.End - 1 Set scat = stab.Cell(i, 1).Range scat.End = scat.End - 1 If scat tcat Then ttab.Rows.Add j = ttab.Rows.Count ttab.Cell(j, 1).Range = scat ttab.Cell(j, 1).Range.Paragraphs(1).PageBreakBefore = True ttab.Rows.Add ttab.Cell(j + 1, 1).Range.Paragraphs(1).PageBreakBefore = False For n = 2 To k Set data = stab.Cell(i, n).Range data.End = data.End - 1 ttab.Cell(ttab.Rows.Count, n - 1).Range = data Next n Else ttab.Rows.Add For n = 2 To k Set data = stab.Cell(i, n).Range data.End = data.End - 1 ttab.Cell(ttab.Rows.Count, n - 1).Range = data Next n End If Next i -- 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 "tfarley" wrote in message ... I have an excell document with the following columns: "OrderSort;NameSort;Acct#;Type;Name1;Name2;Street; SSN;Shares" I need to group data according to Street Address, then Name1 and/or Name1/Name2. If Name1 (Sally) has three accounts at same street address, all three lines of info goes on one page. If there is a second Name1 (Jeff) at that address, his lines of info go on a seperate page, If there is a Name1 and Name2 (Joint account) at that address, it goes on yet another page. Then the next address gets sorted, then the next. etc.... I need for Word to merge 1 group of data onto my one page/template and then take the next group of data and start a new page using same template, then next group on next page, etc.... Is there a way to do this?! (I could post an acutal sample file of my data if someone tells me how) |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
MailMerge : 1 mail for multiple rows in excel. | Mailmerge | |||
Multiple field lines in Excel 2002 mailmerge | Microsoft Word Help | |||
mailmerge from excel with multiple worksheets | Mailmerge | |||
How can I allow multiple selections in a drop down box? | Microsoft Word Help | |||
Entering criteria value in mailmerge | Mailmerge |