2017-11-24 1 views
-2

Guten Tag, ich habe ein Problem, ich muss 3000 Etiketten alle 7 Tage drucken und sie sind in einzelne Etiketten geschnitten, in dem Moment, in dem sie nacheinander drucken 1,2,3,4,5,6 ... usw., so verschwendet Person Zeit, um sie aufzuheben und sie in richtige Steckplätze zu setzenMicrosoft Access - Etikettendruck - jede 10 Etiketten vertikal zu drucken

Nun, was ich brauche, ist, dass Datensatz Nummer 2 auf der zweiten Seite, 3. gedruckt wird Aufnahme auf Seite 3 und wie diese 10 Seiten, mein 11 Datensatz unter ist auf der 1. Seite gerade unter Datensatz Nummer 1, Datensatz 12 ist auf Seite 2 unter Datensatz Nummer 2 ..... Also Idee ist, dass Person einen Stapel von greifen kann 10 Rekord statt sie nacheinander zu nehmen, aber ich bin mir nicht sicher, wie kann ich es tun = \ irgendwelche Ideen?

+0

Diese Frage bedarf nichts mit der Programmierung zu tun hat. – jhpratt

+0

Es gibt ein Makro, um der Datenquelle Nummern zuzuordnen, damit es sortiert werden kann, damit die Etiketten Spalten runterdrucken. Leider bin ich so ein Neuling in VBA, dass ich Hilfe brauche, die Quelle, die ich für Word aber nicht für den Zugriff habe –

Antwort

0
 ' 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 

dieses Ich war für Wort hatte, leider nicht funktionierte es genau so, wie ich