Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: laufende Nummernvergabe beim Ausdruck

laufende Nummernvergabe beim Ausdruck
20.01.2009 12:14:00
Jens
Hallo zusammen,
mich plagt mal wieder Excel im Zusammenhang mit nem Palettenschein. Ich habe ein Excelsheet entworfen, bei dembei Ausdruck ein A4 Blatt mit 2 Palettenscheinen rauskommt. Zur Zuordnung brauche ich aber auf beiden Palettenscheinen eine fortlaufende identische Nummer.
Ich möchte in einem Excel-Sheet zwei Zellen zur fortlaufenden Nummerierung einfügen. Diese soll ein und dasselbe Sheet bei jedem Ausdruck nummerieren und um 1 erhöht werden.
Geht das irgendwie?
Bin für jeden TIP dankbar.
mfg
kaschu
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: laufende Nummernvergabe beim Ausdruck
20.01.2009 12:16:00
Hajo_Zi
Hallo Nick,
vielleicht ist dies ein Ansatz.
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



Anzeige
AW: laufende Nummernvergabe beim Ausdruck
20.01.2009 12:24:38
Jens
Hallo Hajo,
das war nicht so genau das was ich suchte.
Mal genauer gesagt: Ich habe in Zeile A7 und J7 die gleiche Zahl zu stehen (z.b. 4900). Diese beiden Felder sollen sich nach jedem Ausdruck um 1 erhöhen. Es muss also nebenher ein Zähler laufen. Der Zähler darf aber auch nach dem speichern zurückgesetzt werden.
Entschuldige bitte meine ungenaue Angabe, aber ich hab von Excel ne Ahnung......
mfg
kaschu
Anzeige
AW: laufende Nummernvergabe beim Ausdruck
20.01.2009 12:28:08
Hajo_Zi
Hallo Jens,
jetzt wird es in die Kopfzeile geschrieben und wer hindert Dich daran, dafür Range("A7") zu schreiben?
Gruß Hajo
AW: laufende Nummernvergabe beim Ausdruck
20.01.2009 12:36:54
Jens
hallo Hajo,
ich sagte schon, das ich von Excel keinerlei Ahnung habe.....ich kann zwar in deinem Macro sehen, dass du die Seitenansicht aufrufst und den Wert einträgst, aber mehr auch nicht. Entschuldige meine Unkenntniss.
Es wäre nett, dass du es etwas näher beschreiben kannst. Ich könnte auch die Exceldatei mal hochladen.
mfg
kaschu
Anzeige
AW: laufende Nummernvergabe beim Ausdruck
20.01.2009 12:40:59
Hajo_Zi
Hallo Jens,
ein Datei hat immer den Vorteil der Code wird für die Datei angepast und man brauchtnchts selber machen. Du hast aber die Variante gewählt, das Du es selber anpassen darfst. Ich habe damit kein Problem

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
Range("A7") = intK
Range("C23") = intK
'            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

Anzeige
AW: laufende Nummernvergabe beim Ausdruck
20.01.2009 12:58:46
Jens
Hallo Hajo,
das Macro funktioniert, aber er zählt nicht hoch. Und nach dem Speichern und neuausdruck fängt er wieder bei eins an?
;
Anzeige
Anzeige

Infobox / Tutorial

Laufende Nummernvergabe beim Ausdruck in Excel


Schritt-für-Schritt-Anleitung

Um eine fortlaufende Nummerierung in Deinem Excel-Sheet für Palettenscheine zu realisieren, kannst Du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Option Explicit
    Dim currentNumber As Long
    
    Sub DruckeUndZaehle()
        Dim VarPrints As Variant, intI As Integer, intK As Integer
        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
                currentNumber = currentNumber + 1
                Range("A7").Value = currentNumber
                Range("J7").Value = currentNumber
                ActiveSheet.PrintPreview 'zeigt die Vorschau an, ggf. deaktivieren.
                'ActiveSheet.PrintOut 'druckt direkt wenn Zeile aktiviert.
            Next intI
        End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Dokument.

  5. Um das Makro auszuführen, drücke ALT + F8, wähle DruckeUndZaehle aus und klicke auf Ausführen.

Nun wird bei jedem Ausdruck die fortlaufende Nummer in den Zellen A7 und J7 angezeigt.


Häufige Fehler und Lösungen

  • Problem: Das Makro zählt nicht hoch.

    • Lösung: Stelle sicher, dass die Variable currentNumber initialisiert ist. Schiebe die Definition der Variable nach oben und setze currentNumber auf den gewünschten Startwert, z.B. currentNumber = 4900, wenn Du bei 4900 beginnen möchtest.
  • Problem: Nach dem Speichern und Neudrucken beginnt die Nummerierung wieder bei 1.

    • Lösung: Die Variable currentNumber wird beim Schließen von Excel zurückgesetzt. Du kannst die aktuelle Nummer in einer Zelle speichern und beim Start des Makros wieder abrufen.

Alternative Methoden

Eine alternative Methode zur fortlaufenden Nummernvergabe ist die Verwendung von Formeln:

  1. In Zelle A7 gib ein: =WENN(B7<>"";A7+1;4900) und ziehe die Formel nach unten.
  2. Stelle sicher, dass Du die Zelle B7 mit einem Wert füllst, um die Nummer zu erhöhen.

Diese Methode eignet sich, wenn Du die Nummernvergabe ohne VBA umsetzen möchtest.


Praktische Beispiele

Wenn Du Palettenscheine selber machen möchtest, kannst Du das Makro anpassen, um die Nummernvergabe für mehrere Zellen zu ermöglichen. Zum Beispiel:

Range("C23").Value = currentNumber ' Setzt die Nummer auch in eine andere Zelle

So kannst Du die fortlaufende Nummer auch in einem Palettenschein Formular verwenden.


Tipps für Profis

  • Speichere Deine Excel-Datei als Makro-fähige Arbeitsmappe (*.xlsm), um das Makro zu behalten.
  • Nutze die PrintOut-Methode, um direkt zu drucken, ohne die Vorschau anzuzeigen, indem Du die Zeile ActiveSheet.PrintOut aktivierst und die Zeile ActiveSheet.PrintPreview kommentierst.

FAQ: Häufige Fragen

1. Wie kann ich die Nummer nach dem Drucken zurücksetzen?
Du kannst einen Reset-Button in Dein Excel-Dokument einfügen, der die Variable currentNumber auf den gewünschten Startwert zurücksetzt.

2. Ist dieses Makro in allen Excel-Versionen verfügbar?
Ja, VBA-Makros sind in den meisten Versionen von Excel verfügbar, jedoch kann die genaue Vorgehensweise leicht variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige