Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1956to1960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nummern automatisch Korrekt runterzählen lassen

Nummern automatisch Korrekt runterzählen lassen
02.12.2023 15:56:49
DonHoss
Guten Tag,
ich hab folgendes Problem:
Ich habe in der Spalte einige Lücken Belegnr. (also die Nummerierung ist nicht komplett) einige Lücken. Da ich das aber nicht haben will, gibt es eine Möglichkeit die alle(ähnlich wenn man die Spalten bei einzelnen Zahlen runter zieht) eine fortlaufende Nummerierung zu geben?
Also beispiel: Es gibt in der Belegnr. Spalte KoVo/10 und KoVo/12, allerdings darf da keine Lücke sein und die KoVo/12 müsste theoretisch die 11 sein. Quasi lückenlose Nummerierung.
Gibt es einen Weg das zu machen, oder muss ich das händisch machen?


Liebe Grüße

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nummern automatisch Korrekt runterzählen lassen
02.12.2023 18:36:35
Piet
Hallo

mit diesem kleinen Makro ist dein Problem sofort erledigt. In ein normales Modulk kopieren und mit F5 starten.

mfg Piet

  • Sub Nummern_korrekt_nummerieren()
    Dim j As Long, lz1 As Long
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    For j = 3 To lz1
    Cells(j, 1) = "KoVo" & j - 2
    Next j
    MsgBox j - 3 & " Zeilen neu nummeriert"
    End Sub

  • AW: Nummern automatisch Korrekt runterzählen lassen
    02.12.2023 18:41:45
    Piet
    Nachtrag

    ich lese gerade im Thread das es mehrere Beleg Nummern gibt, auch "Stg" usw.
    Frage, soll die Nummerierung durchlaufen, oder für jeden Text mit 1 neu anfangen??

    mfg Piet
    Anzeige
    AW: Nummern automatisch Korrekt runterzählen lassen
    03.12.2023 12:26:14
    DonHoss
    Jede Belegnummer soll mit 1 anfangen.
    Aber es geht mir eigentlich gerade konkret um die in der Beispieldatei.
    Ich hab mehrere 1000 Zeilen, kann die aber nicht so ohne weiteres begradigen.
    Und das händisch zu machen dauert wirklich sehr lange.
    AW: Nummern automatisch Korrekt runterzählen lassen
    03.12.2023 12:46:22
    DonHoss
    Kann man bei dem Makro nicht so was einfügen wie: Wenn die Zeile "KoVo/" enthält, dann nummeriere durch oder so?

    Oder ist das nicht möglich?
    AW: Nummern automatisch Korrekt runterzählen lassen
    03.12.2023 13:03:26
    ralf_b
    Sub Nummern_korrekt_nummerieren()
    
    Dim j As Long, lz1 As Long, cnt&
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    For j = 3 To lz1
    if left(Cells(j, 1),5) = "KoVo/" then cnt=cnt+1: Cells(j, 1).value = "KoVo/" &cnt
    Next j
    MsgBox cnt & " Zeilen neu nummeriert"
    End Sub
    Anzeige
    AW: Nummern automatisch Korrekt runterzählen lassen
    03.12.2023 13:39:39
    DonHoss
    Vielen Dank das hilft mir extrem weiter.
    Letzte Frage:
    Wenn ich den (Makro)Befehl anpasse und bei den Belegnummern nur Ziffern habe(also keine Buchstaben), geht der Makrobefehl dann auch so durch?

    Vielen vielen Dank.
    AW: Nummern automatisch Korrekt runterzählen lassen
    03.12.2023 15:32:26
    Piet
    Hallo

    ich habe mir auch mal Gednaken gemacht, und denke ich habe eine Komplett Lösung.
    Das Makro unterscheidet 3+4steillige Buchstaben Gruppen sowie reine Zahlenfolge.
    Jede Gruppe beginnt mit der Zahl 1 und wird lückenlos durchnummeriert.

    mfg Piet

    Sub Nummern_korrekt_nummerieren()
    
    Dim j As Long, lz1 As Long
    Dim i As Long, Txt, Txt2
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    i = 1 '1.Zahl zum ausfüllen
    For j = 3 To lz1
    'Text laden und ggf. kürzen
    Txt = Left(Cells(j, 1), 4)
    Txt2 = Left(Cells(j + 1, 1), 4)
    If IsNumeric(Right(Txt, 1)) Then Txt = Left(Txt, 3)
    If IsNumeric(Right(Txt2, 1)) Then Txt2 = Left(Txt2, 3)
    If Txt2 = Empty Then Txt2 = Txt
    'Buchstaben Kombi auswerten
    If Not IsNumeric(Txt) And Not IsNumeric(Txt2) Then
    Cells(j, 1) = Txt & i: i = i + 1
    If Txt > Txt2 Then i = 1: flg = Empty
    ElseIf Not IsNumeric(Txt) And IsNumeric(Txt2) Then
    Cells(j, 1) = Txt & i: i = 1
    ElseIf IsNumeric(Txt) And IsNumeric(Txt2) Then
    Cells(j, 1) = i: i = i + 1
    End If
    Next j
    MsgBox j - 3 & " Zeilen neu nummeriert"
    End Sub
    Anzeige
    AW: Nummern automatisch Korrekt runterzählen lassen
    04.12.2023 16:01:02
    DonHoss
    Vielen Dank erstmal.

    Gibt es da aber auch einen Befehl, wie ich irgendwie dasselbe nur mit "normalen" Zahlen machen kann. Also Belegnummern, die keine Buchstaben haben?
    Also angenommen, ich hab jetzt in der Spalte 1,2 und 4 drin, die 3 fehlt allerdings.
    AW: Nummern automatisch Korrekt runterzählen lassen
    04.12.2023 17:40:17
    DonHoss
    Problem ist nämlich, der Makrobefehl zählt die normalen Zahlen aus irgendeinem Grund nur bis 10 und fängt dann wieder von vorne an.
    Ich bräuchte halt noch ein Makrobefehl, mit dem ich alle "normalen" Zahlen(ohne Buchstaben) bei der Belegnummern spalte ordnen kann.
    In meiner originalen Datei habe ich über 1900 "normale" Belegnummern(ohne Buchstaben) die auch nicht konstant durchnummeriert sind.
    Anzeige
    AW: Nummern automatisch Korrekt runterzählen lassen
    04.12.2023 17:50:26
    Piet
    Nachtrag

    wenn diese Daten nicht am Anfang stehen, kannst du den Range() Bereich von Hand auf deinen Bereich ändern.

    mfg Piet
    AW: Nummern automatisch Korrekt runterzählen lassen
    04.12.2023 17:44:35
    Piet
    Hallo

    in meinem Makro ist schon vorgesehen das auch reine Zahlen neu nummeriert werden.

    Hier mal ein extra Code, nur für Spalte A mit reinen Zahlen neu zu nummerieren.
    Hinweis - wenn du "i" auf 100 oder 1000 setzt beginnt das Makro die Nummerierung mit dieser Zahl!

    mfg Piet

  • Sub Nummern_korrekt_nummerieren()
    Dim i As Long, j As Long, lz1 As Long
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    i = 1 '1.Zahl zum ausfüllen
    For j = 3 To lz1
    Cells(j, 1) = i: i = i + 1
    Next j
    MsgBox j - 3 & " Zeilen neu nummeriert"
    End Sub
  • Anzeige
    AW: Nummern automatisch Korrekt runterzählen lassen
    04.12.2023 17:51:21
    DonHoss
    Danke erstmal für die Mühe.

    Problem hier ist, dass bei dem neuen Makro jetzt alle Belegnummern reine Zahlen sind(wenn ich es ausführe). Die Belegnummern die mit buchstaben gekennzeichnet sind, sollten eigentlich unangetastet bleiben, quasi nur die Lösung für Zahlen(das die durchnummeriert werden und die anderen unangetastet bleiben).
    AW: Nummern automatisch Korrekt runterzählen lassen
    04.12.2023 17:56:12
    DonHoss
    Nachtrag:

    Was ich meine ist, die Belegnummern mit Buchstaben haben ja auch zahlen(sind auch nummeriert, zusammen mit Buchstaben bsp.: "KoVo/21"), ich glaube, deswegen erkennt das Makro nicht, dass es nur die reinen Zahlen nehmen soll.
    AW: Nummern automatisch Korrekt runterzählen lassen OFFEN
    04.12.2023 19:18:00
    DonHoss
    Kleine Frage: Kann man dieses Makro irgendwie nach normalen Zahlen anpassen? Quasi wenn eine Zeile nur aus Zahlen besteht, dann zähle runter?

    Sub Nummern_korrekt_nummerieren()
    Dim j As Long, lz1 As Long, cnt&
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    For j = 3 To lz1
    if left(Cells(j, 1),5) = "KoVo/" then cnt=cnt+1: Cells(j, 1).value = "KoVo/" &cnt
    Next j
    MsgBox cnt & " Zeilen neu nummeriert"
    End Sub
    Anzeige
    AW: Nummern automatisch Korrekt runterzählen lassen OFFEN
    04.12.2023 20:25:21
    DonHoss
    Kleine Frage: Kann man dieses Makro irgendwie nach normalen Zahlen anpassen? Quasi wenn eine Zeile nur aus Zahlen besteht, dann zähle runter?

    Sub Nummern_korrekt_nummerieren()
    Dim j As Long, lz1 As Long, cnt&
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    For j = 3 To lz1
    if left(Cells(j, 1),5) = "KoVo/" then cnt=cnt+1: Cells(j, 1).value = "KoVo/" &cnt
    Next j
    MsgBox cnt & " Zeilen neu nummeriert"
    End Sub
    nun nur für zahlen
    04.12.2023 22:48:28
    ralf_b
    weist du eigentlich was du willst?
    if isnumeric(Cells(j, 1).value)  then cnt=cnt+1: Cells(j, 1).value = cnt
    Anzeige
    CLOSED:AW: nun nur für zahlen
    05.12.2023 18:11:27
    DonHoss
    Vielen Dank.
    Mehr wollte ich nicht.

    Ihr habt mir echt nen Haufen Arbeit erspart vielen vielen Dank.
    schreib ="KoVo/"&ZEILE(X18) und runterkopieren
    02.12.2023 16:16:51
    WF
    .
    AW: schreib ="KoVo/"&ZEILE(X18) und runterkopieren
    02.12.2023 16:52:26
    DonHoss
    Vielen Dank. Ich glaube das ist es schon. Sehr sehr toll. Dankeschön.
    AW: schreib ="KoVo/"&ZEILE(X18) und runterkopieren
    02.12.2023 17:10:39
    DonHoss
    Ich sehe gerade, das Klappt leider nicht wenn ich Filtere. Das ist ja nur ne beispiel datei wo ich nur die "KoVo"s rausgezogen habe(Hab noch deutlich mehr Belegnummern). Wenn ich filtere kommt da leider ein anderer Bezug.
    AW: schreib ="KoVo/"&ZEILE(X18) und runterkopieren
    02.12.2023 16:59:52
    DonHoss
    Danke. Funktioniert das auch wenn ich mehrere Arten von Belegnummern habe z.B.: "KoVo/" "STbg/" etc. und dann filtere und dann die Nummerierung "auffülle"
    AW: OFFEN: Nummern automatisch Korrekt runterzählen lassen
    02.12.2023 16:17:09
    Jan
    Hallo
    Was ist mit S 2 ?
    Bleibt KOVO immer glich?
    Wenn es eine Formel sein muss diese beginnt normalweise immer ab Zeile unterhalb der Überschrift nie mitten drin.
    Oder vielleicht auch mit PQ umsetzbar.
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige