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

Forumthread: fortlaufende Nummerierung erhöhen bei Zeilen einfü

fortlaufende Nummerierung erhöhen bei Zeilen einfü
08.10.2016 21:54:05
Andreas
Hallo Excel VBA Spezialisten,
Meine CMD (Button 35) fügt mir eine Leerzeile ein, und verschiebt den Bereich darunter um eine Zeile nach unten, Das geht wunderbar.
Endet aber in der Spalte A die fortlaufende Nummerierung, dann wird die letzte Zeile zwar nach unten verschoben, aber gelöscht.
Abhilfe wäre hier:
Abfrage, ob am Schluß in Spalte A eine Zahl vorhanden ist, bevor die Zeile mit den Spalten B bis N nach unten verschoben wird. Wenn nein, dann soll sich die Zahl in der Spalte A um eins erhöhen, bevor die Zeile nach unten verschoben wird?
Ist für mich nicht so einfach zu Programmieren.
Lade mal eine Tabelle mit hoch https://www.herber.de/bbs/user/108676.xlsm
hier mein Code, der das alles verschiebt- in Spalte C testen. mit Doppelklick
Code:
Private Sub CommandButton35_Click()
Dim lngLetzte As Long
If Cells(ActiveCell.Row, 1).Value = "" Then Exit Sub
Cells(ActiveCell.Row, 2).Resize(1, 13).Insert Shift:=xlDown, CopyOrigin:= _
xlFormatFromLeftOrAbove
lngLetzte = Cells(ActiveCell.Row, 1).End(xlDown).Row
Cells(lngLetzte + 1, 2).Resize(1, 13).Delete Shift:=xlUp
End Sub

Gibt es da eine Lösung?
Grüße Andreas
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fortlaufende Nummerierung erhöhen bei Zeilen einfü
08.10.2016 23:45:20
fcs
Hallo Andreas,
Makro sollte mit folgender Ergänzung funktionieren.
LG
Franz
Private Sub CommandButton35_Click()
Dim lngLetzte As Long
If Cells(ActiveCell.Row, 1).Value = "" Then Exit Sub
Cells(ActiveCell.Row, 2).Resize(1, 13).Insert Shift:=xlDown, CopyOrigin:= _
xlFormatFromLeftOrAbove
lngLetzte = Cells(ActiveCell.Row, 1).End(xlDown).Row
If lngLetzte = ActiveSheet.Rows.Count Then
Cells(ActiveCell.Row + 1, 1) = Cells(ActiveCell.Row, 1) + 1
ElseIf Application.WorksheetFunction.CountA(Cells(lngLetzte + 1, 2).Resize(1, 13)) = 0 Then
Cells(lngLetzte + 1, 2).Resize(1, 13).Delete Shift:=xlUp
Else
Cells(lngLetzte + 1, 1) = Cells(lngLetzte, 1) + 1
End If
End Sub

Anzeige
AW: fortlaufende Nummerierung
08.10.2016 23:59:12
Andreas
Danke Franz,
nun endlich geht es. Super Arbeit.
MfG Andreas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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 bei neuen Zeilen


Schritt-für-Schritt-Anleitung

Um eine fortlaufende Nummerierung in Excel zu implementieren, die automatisch aktualisiert wird, wenn du eine neue Zeile einfügst, kannst du folgendes VBA-Makro verwenden. Dieses Makro prüft, ob die letzte Zelle in der fortlaufenden Nummerierung leer ist und erhöht die Nummer entsprechend.

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

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Modul einfügen" wählst.

  3. Kopiere den folgenden Code in das Modul:

    Private Sub CommandButton35_Click()
       Dim lngLetzte As Long
       If Cells(ActiveCell.Row, 1).Value = "" Then Exit Sub
       Cells(ActiveCell.Row, 2).Resize(1, 13).Insert Shift:=xlDown, CopyOrigin:= _
       xlFormatFromLeftOrAbove
       lngLetzte = Cells(ActiveCell.Row, 1).End(xlDown).Row
       If lngLetzte = ActiveSheet.Rows.Count Then
           Cells(ActiveCell.Row + 1, 1) = Cells(ActiveCell.Row, 1) + 1
       ElseIf Application.WorksheetFunction.CountA(Cells(lngLetzte + 1, 2).Resize(1, 13)) = 0 Then
           Cells(lngLetzte + 1, 2).Resize(1, 13).Delete Shift:=xlUp
       Else
           Cells(lngLetzte + 1, 1) = Cells(lngLetzte, 1) + 1
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zurück zu deiner Excel-Datei.

  5. Füge einen Button hinzu, der das Makro ausführt, und teste es.


Häufige Fehler und Lösungen

  • Fehler: Die fortlaufende Nummerierung wird nicht aktualisiert.

    • Lösung: Stelle sicher, dass das Makro korrekt an den Button gebunden ist und dass die Spalte A für die Nummerierung verwendet wird.
  • Fehler: Bei leerer Zeile wird kein Wert eingetragen.

    • Lösung: Überprüfe die Bedingung im Makro, die prüft, ob die Zelle in Spalte A leer ist.
  • Fehler: Die Zeile wird nicht verschoben.

    • Lösung: Stelle sicher, dass das Makro die richtige Zeile anvisiert und dass die Aktive Zelle korrekt gesetzt ist.

Alternative Methoden

  1. Excel-Formel zur fortlaufenden Nummerierung: Du kannst auch eine Formel verwenden, um fortlaufende Nummern zu generieren. Zum Beispiel:

    =WENN(A2<>"",MAX(A$1:A1)+1,"")

    Diese Formel erhöht die Nummer nur, wenn in der Zelle A2 ein Wert vorhanden ist.

  2. Automatische Nummerierung bei neuer Zeile: Du kannst die Funktion "Tabelle" in Excel verwenden, um automatisch fortlaufende Nummerierungen zu erzielen, wenn du eine neue Zeile hinzufügst.


Praktische Beispiele

  • Beispiel 1: Wenn du eine neue Zeile in einer Liste einfügst, wird die fortlaufende Nummerierung in Spalte A automatisch um eins erhöht, basierend auf der letzten Nummer.

  • Beispiel 2: Bei der Verwendung des Makros kannst du sicherstellen, dass die fortlaufende Nummerierung auch dann korrekt bleibt, wenn mehrere Zeilen gleichzeitig eingefügt werden.


Tipps für Profis

  • Verwende die Tabelle-Funktion in Excel, um die automatische Nummerierung zu erleichtern.
  • Achte darauf, dass deine Makros regelmäßig geprüft werden, um sicherzustellen, dass sie wie gewünscht funktionieren.
  • Nutze Bedingte Formatierungen, um die Sichtbarkeit der fortlaufenden Nummerierung zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die fortlaufende Nummerierung in einer bestehenden Liste hinzufügen?
Du kannst die oben genannten Formeln oder das VBA-Makro verwenden, um die Nummerierung automatisch zu aktualisieren.

2. Was passiert, wenn ich eine Zeile lösche?
Das Makro ist so konzipiert, dass die fortlaufende Nummerierung stets korrekt bleibt, auch wenn Zeilen gelöscht werden.

3. Kann ich die fortlaufende Nummerierung in mehreren Spalten gleichzeitig anwenden?
Ja, du kannst das Makro anpassen, um mehrere Spalten zu berücksichtigen, indem du die entsprechenden Zellen im VBA-Code anpasst.

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