VBA Druck: Anzahl Exemplare und automatische Nummerierung in Excel
Schritt-für-Schritt-Anleitung
Um in Excel eine Abfrage für die Anzahl der Druckexemplare zu erstellen und diese automatisch zu nummerieren, kannst du folgendes VBA-Skript verwenden:
Sub Drucken_Nummerieren()
With ActiveSheet.PageSetup
.Zoom = False
.PrintArea = "$A$6:$L$25"
.Orientation = xlPortrait
.Zoom = 75
.CenterHeader = "&""Comic Sans MS""&16""&I" & "Übersicht aller Werte"
End With
Dim Anzahl As Variant, i As Integer
Anzahl = InputBox("" & Chr(13) & Chr(13) & "Bitte Anzahl eintragen" & Chr(13) & "", "Druckt die angegebene Anzahl")
If StrPtr(Anzahl) = 0 Then
Exit Sub
End If
Anzahl = Round(Anzahl, 0)
If Anzahl < 1 Or Anzahl > 5 Then
MsgBox "Es dürfen nur 1 - 5 Exemplare gedruckt werden"
Exit Sub
Else
For i = 1 To Anzahl
' Hier erfolgt der Druck
ActiveSheet.Cells(1, 1).Value = "Ausdruck " & i
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next i
End If
End Sub
Dieses Skript fragt den Benutzer, wie viele Exemplare (1 bis 5) er drucken möchte, und nummeriert diese in Excel. Stelle sicher, dass du die richtige Druckerbezeichnung einfügst, wenn du einen bestimmten Drucker auswählen möchtest.
Häufige Fehler und Lösungen
Fehler 1: Laufzeitfehler 13 – Typen unverträglich
- Dieser Fehler tritt auf, wenn du die Eingabe in der InputBox abbrichst. Stelle sicher, dass du den Typ der Variable
Anzahl
auf Variant
setzt, um mit verschiedenen Eingabewerten umzugehen.
Fehler 2: Falsche Anzahl der Druckexemplare
- Achte darauf, dass du die Eingabewerte korrekt überprüfst. Der Code sollte sicherstellen, dass die
Anzahl
zwischen 1 und 5 liegt.
Alternative Methoden
Eine alternative Methode zur Nummerierung der Druckexemplare könnte die Verwendung von Excel-Formeln sein, um die Werte in den Zellen zu nummerieren, bevor du den Druckvorgang startest. Du könntest eine Hilfsspalte nutzen, in der die Nummerierung erfolgt, und dann die gesamte Tabelle drucken.
Praktische Beispiele
Hier ein Beispiel, das zeigt, wie man die Anzahl der Druckexemplare
anpassen kann:
- Nummerierung in der Fußzeile: Du kannst die Nummerierung auch in der Fußzeile der Seite platzieren, indem du den Code für die Fußzeile anpasst:
.ActiveSheet.PageSetup.CenterFooter = "Ausdruck " & i
- Drucken von Excel-Daten: Wenn du Daten aus einem bestimmten Bereich drucken möchtest, stelle sicher, dass die
PrintArea
korrekt gesetzt ist und die Daten in diesem Bereich vorhanden sind.
Tipps für Profis
- Druckereinstellungen speichern: Es kann hilfreich sein, die Einstellungen für den Drucker zu speichern, um die Standarddrucker zu wechseln. Nutze dazu den Code:
Dim Standarddrucker As Variant
Standarddrucker = ActivePrinter
- Fehlerprotokollierung: Implementiere eine Fehlerbehandlung, um die Benutzer über mögliche Fehler während des Druckvorgangs zu informieren, anstatt dass das Skript einfach abstürzt.
FAQ: Häufige Fragen
1. Wie kann ich die Gesamtzahl an Exemplaren aus einer Druckvorlage anpassen?
Du kannst die PrintArea
im VBA-Code anpassen, um sicherzustellen, dass der richtige Bereich gedruckt wird.
2. Funktioniert das Skript in allen Excel-Versionen?
Das Skript sollte in den meisten modernen Excel-Versionen funktionieren, es ist jedoch ratsam, es in einer aktuellen Version zu testen, um sicherzustellen, dass alle Funktionen unterstützt werden.