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

Forumthread: Fortlaufende Nummer inkl. Jahr

Fortlaufende Nummer inkl. Jahr
13.12.2017 15:11:28
Sandro
Hallo Zusammen
Bei einem VBA Code einer UserForm komme ich auf keinen grünen Zweig und brauche eure Hilfe.
Die Box soll automatisch eine fortlaufende Nummer nach folgendem Muster generieren "JJ-000". Also 17-001, 17-002 usw. wenn im Jahr 2018 ein Auftrag erfasst wird wechselt es von 17-000 auf 18-000 wenn möglich soll es dann wieder bei 0 beginnen und nicht fortfahren.
Aufgrund meiner beschränkten VBA Kenntnisse komme ich trotz Google nicht weiter, bei meinem Code wird das Format immer so ausgegeben: "2017-1"
Kann mir jemand helfen? Dort wo "?" steht, wusste ich nicht was reinschreiben.
Danke & Grüsse
Sandro
Hier mein Code:
Private Sub UserForm_Initialize()
Sheets("Erfassung").Select
Sheets("Erfassung").Cells(Rows.Count, 1).End(xlUp).Select
If Selection.Row = 1 Then
Auftragsnummer.Text = "001"
Else
Auftragsnummer.Text = Year(Date) & "-" & Cells(Selection.Row, 1).Value + 1
End If
Cells(Selection.Row + 1, 1).Select
Selection.NumberFormat = ("?")
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortlaufende Nummer inkl. Jahr
13.12.2017 16:18:50
Hajo_Zi
Format(Cells(Selection.Row, 1).Value + 1,"000")

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
AW: Fortlaufende Nummer inkl. Jahr
14.12.2017 06:50:03
Sandro
Hallo Hajo
Erstmals vielen Dank für deine Antwort. Ich komme mir irgendwie doof vor, aber ich muss trotzdem nachfragen. Wo genau soll ich deine Zeile in meinem Code einfügen? Bin nicht wirklich schlau geworden. Stimmt denn der Rest meines Codes so?
Grüsse
Sandro
AW: Fortlaufende Nummer inkl. Jahr
14.12.2017 10:40:16
Piet
Hallo Sandro
wenn ich Hajo richtig verstanden habe hat er dir die Antwort doch gegeben.
Deine Frage war, was gehört an die Stelle mit dem ? hin. Hajos Antworten sind kurz, aber praezise.
Setze seinen Code mal an die Stelle und schau bitte was passiert. So einfach ....
Danach den Thread bitte schliessen! KontrollBox bitte nicht mehr aktivieren!!
mfg Piet
Anzeige
AW: Fortlaufende Nummer inkl. Jahr
14.12.2017 16:29:34
Hajo_Zi
ich habe nur Format beantwortet. In Deinem Code steht auch Cells(Selection.Row, 1).Value + 1, da gehört es hin.
Gruß Hajo
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Fortlaufende Nummerierung in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um eine fortlaufende Nummer in Excel zu generieren, die das aktuelle Jahr berücksichtigt, kannst du folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Rechnungsnummern jedes Jahr neu beginnen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul ein: Rechtsklicke im Projektfenster und wähle Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:
Private Sub UserForm_Initialize()
    Sheets("Erfassung").Select
    Sheets("Erfassung").Cells(Rows.Count, 1).End(xlUp).Select
    If Selection.Row = 1 Then
        Auftragsnummer.Text = "001"
    Else
        Auftragsnummer.Text = Year(Date) Mod 100 & "-" & Format(Cells(Selection.Row, 1).Value + 1, "000")
    End If
    Cells(Selection.Row + 1, 1).Select
    Selection.NumberFormat = "000"
End Sub
  1. Ersetze in der Zeile Selection.NumberFormat = "000" das "000" mit dem gewünschten Format, falls nötig.
  2. Speichere das Modul und gehe zurück zur Excel-Oberfläche.

Dieser Code sorgt dafür, dass die fortlaufende Rechnungsnummer automatisch erhöht wird und das Format „JJ-000“ (z.B. 23-001) hat. Jedes Jahr beginnt die Nummerierung wieder bei 001.


Häufige Fehler und Lösungen

  • Fehler: Die Ausgabe ist „2017-1“ statt „17-001“.

    • Lösung: Stelle sicher, dass du die Funktion Format korrekt verwendest. Ersetze Cells(Selection.Row, 1).Value + 1 durch Format(Cells(Selection.Row, 1).Value + 1, "000").
  • Fehler: Die Nummerierung zählt nicht korrekt hoch.

    • Lösung: Überprüfe, ob die Zelle, in die du die Nummer schreiben möchtest, tatsächlich die letzte ist. Verwende Cells(Rows.Count, 1).End(xlUp).Row, um sicherzustellen, dass du die letzte befüllte Zelle findest.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die Funktion =MAX(A:A)+1 in eine Zelle eingeben, um eine fortlaufende Nummer zu generieren. Dies funktioniert jedoch nur, wenn du die Rechnungsnummern nicht über mehrere Jahre hinweg zurücksetzen möchtest.

Für Google Sheets gibt es ähnliche Funktionen, um fortlaufende Nummerierungen zu erstellen, die jedoch eine andere Syntax haben.


Praktische Beispiele

  1. Fortlaufende Rechnungsnummer in einer Tabelle:

    • Spalte A: Rechnungsnummer
    • Spalte B: Datum
    • Spalte C: Betrag

    Setze in Zelle A2 die Formel =WENN(B2<>"",MAX(A:A)+1,""), um die Rechnungsnummer automatisch zu erhöhen, wenn ein Datum eingegeben wird.

  2. VBA zur Erstellung von Rechnungsnummern:

    • Erstelle einen Button auf deinem Excel-Blatt und verknüpfe ihn mit dem obigen VBA-Code, um die Rechnungsnummern per Klick zu generieren.

Tipps für Profis

  • Nutze den Befehl Private Sub UserForm_Initialize() für eine benutzerfreundliche Excel-Anwendung. Damit wird die Nummer automatisch generiert, sobald das Formular geöffnet wird.
  • Experimentiere mit weiteren Formaten in der Format-Funktion, um die Rechnungsnummern nach deinen Wünschen anzupassen.
  • Überlege, eine zusätzliche Logik einzufügen, die sicherstellt, dass keine doppelten Rechnungsnummern vergeben werden, z.B. durch das Prüfen der bereits vorhandenen Werte in der Tabelle.

FAQ: Häufige Fragen

1. Wie kann ich die Rechnungsnummer jedes Jahr neu beginnen? Um die Rechnungsnummer jedes Jahr neu zu beginnen, verwende das Jahr in der Formatierung. Der VBA-Code oben setzt dies bereits um.

2. Wie kann ich die fortlaufende Nummerierung auch ohne VBA nutzen? Du kannst die Funktion =MAX(A:A)+1 in einer Zelle verwenden, um eine fortlaufende Nummer zu generieren, wenn du die manuelle Eingabe bevorzugst.

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