3.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo
ich möchte eine Tabell x mal ausdrucken.
Diese Tabelle gibt es aber nur einmal und auf dem ausdruck möchte ich aber eine fortlaufende Nummerierung. Also erste Tabelle die ausgedruckt wurde 1 dann 2, dann 3 usw....
Ich habe schon gelesen dass man dafür ein Makro benötigt, habe auch schon 1 in diesem Forum gefunden, welches aber nicht funktioniert....

Könnte mir jemand so ein Makro reinstellen und vielleicht noch erklären wie man sowas auf dem Excel Sheet "programmiert" ?

Wäre wirklich sehr dankbar dafür

12 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
hALLO;

eine Seite 20x Drucken, Seite 1 von 20; 2 von 20 usw.

Option Explicit

Sub DruckeUndZaehle()
Dim VarPrints As Variant, intI As Integer, intK As Integer
'Inputbox mit Type 1 laesst nur Zahlen als Eingabe zu.
VarPrints = Application.InputBox("Anzahl der Ausdrucke", "Drucken", 0, Type:=1)
If VarPrints = False Then 'User selected cancel
Exit Sub
ElseIf CInt(VarPrints) > 0 Then
intK = CInt(VarPrints)
For intI = 1 To intK Step 1
With ActiveSheet.PageSetup
.CenterFooter = "Seite " & intI & " von " & intK
End With
ActiveSheet.PrintPreview 'zeigt die Vorschau an, ggf. deaktivieren.
'ActiveSheet.PrintOut 'druckt direkt wenn Zeile aktiviert.
Next intI
End If
End Sub


Gruß Hajo
0 Punkte
Beantwortet von
Danke für deine schnell Antwort echt super
ich habe jetzt diesen Text in dem Visual Basic eingetragen und gespeichert und wie kann ich jetzt das auf die Tabelle beziehen?!
0 Punkte
Beantwortet von
Okay der Makro funktioniert einwandfrei
jetzt muss man quasi die anzahl der drucke angeben
ist dies auch ohne diese Angabe möglich
also im moment steht da ja drauf Seite 1 von z.B. 50
macht der das auch nur seite 1, seite 2, seite 3
also ohne von 50
und kann ich dann auch eingeben -Drucke mir nur Seite 25-28- bspw.

Aber echt super für die Hilfe
echt top
habe gestern schon 3 std mich mit diesem Thema beschäftigt .....
0 Punkte
Beantwortet von
so ich habe mal versucht das Makro umzuschreiben

Option Explicit

Sub DruckeUndZaehle()
Dim VarPrints As Variant, intI As Integer, intK As Integer
'Inputbox mit Type 1 laesst nur Zahlen als Eingabe zu.
VarPrints = Application.InputBox("Anzahl der Ausdrucke", "Drucken", 0, Type:=1)
If VarPrints = False Then 'User selected cancel
Exit Sub
ElseIf CInt(VarPrints) > 0 Then
intK = CInt(VarPrints)
For intI = 1 To intK Step 1
With ActiveSheet.PageSetup
.CenterFooter = "Seite " & intI
End With
Next intI
End If
End Sub


jetzt erscheint zwar nur noch Seite 5 oder Seite 6 z.B.
aber man muss jede Seitenzahl die man haben möchte einzeln eingeben
man kann doch bestimmt auch angeben dass man jetzt Seite 5, Seite 6, Seite 7 ,Seite 8 drucken will und der macht das dann auf Anhieb also ohne das man alles einzeln angeben muss....?!
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
lösche diesen Teil
& " von " & intK
dann ist das von fort.
ungetestet, ohne Fehlerbehandlung.

Option Explicit

Sub DruckeUndZaehle()
Dim VarPrints As Variant, intI As Integer, intK As Integer
Dim VarPrints1 As Variant
'Inputbox mit Type 1 laesst nur Zahlen als Eingabe zu.
VarPrints1 = Application.InputBox("von Ausdruck", "Drucken", 0, Type:=1)
VarPrints = Application.InputBox("bis Ausdrucke", "Drucken", 0, Type:=1)
If VarPrints = False Then 'User selected cancel
Exit Sub
ElseIf CInt(VarPrints) > 0 Then
intK = CInt(VarPrints)
For intI = CInt(VarPrints1) To intK Step 1
With ActiveSheet.PageSetup
.CenterFooter = "Seite " & intI
End With
ActiveSheet.PrintPreview 'zeigt die Vorschau an, ggf. deaktivieren.
'ActiveSheet.PrintOut 'druckt direkt wenn Zeile aktiviert.
Next intI
End If
End Sub


Gruß hajo
0 Punkte
Beantwortet von
Kann ich irgendwie noch angeben das der mir dass dann fortlaufend druckt also seite 1, seite 2, seite 3 ....
irgendwie muss da "Zähler +1" irgendwo rein

und dass ich dann nur noch angeben muss ich will jetzt seite 1 bis seite 238 drucken ohne das ich immer angeben muss welche ich drucken will

weil im moment muss ich jede seite die ich haben will manuell eingeben...
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
du hast den Code schon getest. Der Druck wird nur eimal ausgelöst.
Wenn Du nicht nur die Vorschau haben willst sondern den Druck mußt Die die erste Zeil mit ' kennzeichnen und bei der zweiten Zeile ' entfernen.
ActiveSheet.PrintPreview 'zeigt die Vorschau an, ggf. deaktivieren.
'ActiveSheet.PrintOut 'druckt direkt wenn Zeile aktiviert.
0 Punkte
Beantwortet von
ja der code funktioniert einwadnfrei
nur wenn ich jetzt den makro ausführe dann kommt ja "Anzahl der Ausdruck"
wenn ich dort jetzt z.B. 5 eingebe dann druckt er mir die Tabelle nur mit Seite 5 aus
und nicht seite 1, auf den nächsten ausdruck seite 2, auf die nächste Seite-Seite 3
sondern nur 5 und wenn ich mehrere benötige bspw. von seite 1-134 dann muss ich das immer manuell eingeben bei anzahl der drucke ...?!
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
in meinem letzten Makro kommt diese Abfrage nicht.
0 Punkte
Beantwortet von
wäre es möglich so etwas noch einzubauen ?!
weil es macht für mich kein sinn dass ich alle 100 seiten dann einzeln eingeben muss
am besten wäre dann ja das ich eingeben kann -"drucke mir seite 5 bis 134 und schreibe die entsprechende Seitenzahl drauf"
ist so etwas machbar....?!

Schon mal vielen, vielen Dank für deine bisherige Hilfe =)
...