Etiketten erstellen, aber wie?: Das Arbeitsblatt für die Adressen: Übrigens: Wichtig ist, dass in der A-Spalte Zahlen oder irgendwelche Zeichen sind (z.B. die Mitgliedsnummer im Kegelverein). Im Makro werden aus den Adressen-Zeilen solange Etiketten erstellt bis dieses im Blatt "TEST_Adressen" in der A-Spalte auf eine leere Zelle trifft. Diese Nummern/Zeichen kommen übrigens rechts oben mit auf die Etiketten. Die eigentlichen Adressen werden aus den Spalten C bis J ab der 2-ten Zeile entnommen. Falls diese Zeilen- und Spaltenaufteilung geändert wird, muss natürlich das Makro angepasst werden. Zwei Sonderfunktionen werden über die B-Spalte gesteuert:
Alle anderen Zeichen in den Zellen der B-Spalte werden ignoriert. Das Arbeitsblatt für die Etiketten: Ausdrucken: Das Makro ist jedoch auf Bögen mit 3*8 Etiketten hin optimiert (z.B. Zweckform Nr. 3490). Da jedoch jeder Drucker etwas andere (nicht bedruckbare) Ränder hat, sind ggf. noch Feineinstellungen nötig. Wichtige Code-Zeilen hierfür sind mit "'^^^^^^^^^^^^^" gekennzeichnet. Am einfachsten ist es sicherlich, die Zeilenhöhe der Leerzeile, die nach jedem 3-ten Label eingefügt wird Selection.RowHeight = 34 etwas anzupassen. Wenn jemand andere Bögen mit einer anderen Etiketten-Anzahl verwenden will müssen zusätzlich noch die Abfragezeilen If i_Label_nummer Mod 3 = 0 Then und If i_Label_nummer Mod 24 = 0 Then im Makro angepasst werden. Die VBA- Lösung: Vor dem Erstellen der Etiketten wird nach einer Sicherheitsabfrage das Programm gestartet, das "Labels"-Blatt gelöscht, sowie Zeilenhöhe, Spaltenbreite und Seitenrand eingestellt. Die Adressen werden dann zeilenweise vom Blatt "TEST_Adressen" in das Blatt "Labels" übertragen, bis eine leere Zelle in Spalte A auftaucht (siehe oben). Auf jedes Etikett kommt untereinander der Absender (dies ist über eine Konstante am Programmanfang definiert), der A-Spalten-Text und die Adresse. Vorname/Nachname und PLZ/Ort werden verbunden und jeweils in die gleiche Zeile eingefügt. Zwischen die Etiketten einer Reihe wird eine Leerzeile eingefügt und nach 8 Reihen wird ein Seitenvorschub gesetzt. Zum Schluss speichert das Makro die Arbeitsmappe. Das Makro "Labels_erstellen()" muss sich in einem Modul befinden. ...siehe ausführlich kommentierten VBA-Code in der Excel-Datei (Demoprojekt)... Der Aufruf erfolgt im Adressen-Blatt mit: Private Sub CommandButton1_Click() Labels_erstellen End Sub Das Makro anpassen: For h% = 1 To 10 ... NextWenn jedoch beim Ablegen der Adresse im Label-Blatt z.B. keine Mitgliedsnummer gewünscht wird, wird die Zeile: s_adresse(1) = "-" & s_adresse(1) & "-"zu s_adresse(1) = ""abgeändert. Wer das Entstehen der Labels sehen möchte kann die Zeile Applicaton.ScreenUpdating = Falseweglassen. Weitere mögliche Änderungen wurden bereits weiter oben aufgezeigt. Und nun viel Spaß beim Etiketten erstellen. Dieser Tipp wurde bereits 34.995 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevPopUp 2.0 ![]() Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Tipp des Monats Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |