Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Direction of mail merging labels
Is there a way to cause the merge data on my 3-across 10-down labels to go
down, not across? I'd like my B's to appear BELOW A's, instead of to the RIGHT of A's. |
#2
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Direction of mail merging labels
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. -- 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 "anemonejane" wrote in message ... Is there a way to cause the merge data on my 3-across 10-down labels to go down, not across? I'd like my B's to appear BELOW A's, instead of to the RIGHT of A's. |
#3
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Direction of mail merging labels
Excellent!! Thanks much
"Doug Robbins - Word MVP" wrote: 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. -- 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 "anemonejane" wrote in message ... Is there a way to cause the merge data on my 3-across 10-down labels to go down, not across? I'd like my B's to appear BELOW A's, instead of to the RIGHT of A's. |
#4
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Direction of mail merging labels
Hi Doug:
I've tried this several times but keep getting syntax errors. I have not written (or copied) macros before and do not find the Microsoft site helpful in resolving this error. I copied my data source from Excel to a Word table so I could perform the macro, but no use. I can't figure out a way to sort the table in Excel so that every 6 labels (shipping labels) sort in the necessary order (more than 800 records in this one file and I do this about 3 times per month all in different files). Any guidance in my ignorance would be appreciated. "Doug Robbins - Word MVP" wrote: 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. -- 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 "anemonejane" wrote in message ... Is there a way to cause the merge data on my 3-across 10-down labels to go down, not across? I'd like my B's to appear BELOW A's, instead of to the RIGHT of A's. |
#5
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Direction of mail merging labels
See the article "What do I do with macros sent to me by other newsgroup
readers to help me out?" at: http://www.word.mvps.org/FAQs/Macros...eateAMacro.htm -- 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 "Tammy White" wrote in message ... Hi Doug: I've tried this several times but keep getting syntax errors. I have not written (or copied) macros before and do not find the Microsoft site helpful in resolving this error. I copied my data source from Excel to a Word table so I could perform the macro, but no use. I can't figure out a way to sort the table in Excel so that every 6 labels (shipping labels) sort in the necessary order (more than 800 records in this one file and I do this about 3 times per month all in different files). Any guidance in my ignorance would be appreciated. "Doug Robbins - Word MVP" wrote: 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. -- 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 "anemonejane" wrote in message ... Is there a way to cause the merge data on my 3-across 10-down labels to go down, not across? I'd like my B's to appear BELOW A's, instead of to the RIGHT of A's. |
#6
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Direction of mail merging labels
You probably have prematurely split lines, which will be the case if you
simply copied and pasted Doug's code from the message. In the following version I have forced some breaks in the hope that it will copy more successfully - but if there are still problems see http://www.gmayor.com/installing_macro.htm The numbers prompted for reflect the label sheet - not your data table. 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 = "5" ' 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 -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org Tammy White wrote: Hi Doug: I've tried this several times but keep getting syntax errors. I have not written (or copied) macros before and do not find the Microsoft site helpful in resolving this error. I copied my data source from Excel to a Word table so I could perform the macro, but no use. I can't figure out a way to sort the table in Excel so that every 6 labels (shipping labels) sort in the necessary order (more than 800 records in this one file and I do this about 3 times per month all in different files). Any guidance in my ignorance would be appreciated. "Doug Robbins - Word MVP" wrote: 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. -- 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 "anemonejane" wrote in message ... Is there a way to cause the merge data on my 3-across 10-down labels to go down, not across? I'd like my B's to appear BELOW A's, instead of to the RIGHT of A's. |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
mail merging formatted content | Mailmerge | |||
Beginners guide to mail merge for labels? | Mailmerge | |||
30 page mail merge labels only prints one page? | Mailmerge | |||
Merging labels from excel starts second page with second record | Mailmerge | |||
I am relicating mail labels in word 2003 and it is not working! | Microsoft Word Help |