Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nummerierung ohne leere Zellen

Nummerierung ohne leere Zellen
05.02.2005 21:55:38
Domi
Tschau miteinander,
Folgendes Problemchen:
Wenn ich in der Spalte "Namen" einen Wert reinschreibe, sollte in der Spalte "Nummern" eine fortlaufende Nummerierung erscheinen.
Leere Zellen sollten übersprungen werden und die Nummerierung weitergeführt werden. Und als Letztes: Beim Löschen von Namen sollte die Nummerierung natürlich wieder angepasst werden.
Ein möglicher Ansatz habe ich schon mal gefunden, aber irgendwie komme ich nicht zum Ergebniss.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) x=2 y=2 Do While Range ("Namen").Cells(x,1) <>0 If Range("Name").Cells(x,1) <> 0 Then Range ("Nummer").Cells(x,1)=y If Range("Name").Cells(x,1) ="" Then Range ("Nummer").Cells(x,1)="" x=x+1 y=y+1 Loop End Sub
Vieleicht hätte Jemand eine Lösung, wie der VBA Code aussehen müsste ?
Besten Dank und freundliche Grüsse.
Domi
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nummerierung ohne leere Zellen
05.02.2005 22:22:27
Josef
Hallo Domi!
Muss es unbedingt VBA sein?
Tabelle1
 AB
1NummernNamen
21Name
3  
4  
5  
62Name
7  
8  
9  
103Name
114Name
12  
135Name
14  
15  
16  
17  
18  
19  
20  
216Name
Formeln der Tabelle
A2 : =WENN(B2<>"";ANZAHL2($B$2:$B2);"")
A3 : =WENN(B3<>"";ANZAHL2($B$2:$B3);"")
A4 : =WENN(B4<>"";ANZAHL2($B$2:$B4);"")
A5 : =WENN(B5<>"";ANZAHL2($B$2:$B5);"")
A6 : =WENN(B6<>"";ANZAHL2($B$2:$B6);"")
A7 : =WENN(B7<>"";ANZAHL2($B$2:$B7);"")
A8 : =WENN(B8<>"";ANZAHL2($B$2:$B8);"")
A9 : =WENN(B9<>"";ANZAHL2($B$2:$B9);"")
A10 : =WENN(B10<>"";ANZAHL2($B$2:$B10);"")
A11 : =WENN(B11<>"";ANZAHL2($B$2:$B11);"")
A12 : =WENN(B12<>"";ANZAHL2($B$2:$B12);"")
A13 : =WENN(B13<>"";ANZAHL2($B$2:$B13);"")
A14 : =WENN(B14<>"";ANZAHL2($B$2:$B14);"")
A15 : =WENN(B15<>"";ANZAHL2($B$2:$B15);"")
A16 : =WENN(B16<>"";ANZAHL2($B$2:$B16);"")
A17 : =WENN(B17<>"";ANZAHL2($B$2:$B17);"")
A18 : =WENN(B18<>"";ANZAHL2($B$2:$B18);"")
A19 : =WENN(B19<>"";ANZAHL2($B$2:$B19);"")
A20 : =WENN(B20<>"";ANZAHL2($B$2:$B20);"")
A21 : =WENN(B21<>"";ANZAHL2($B$2:$B21);"")
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Nummerierung ohne leere Zellen
05.02.2005 22:30:36
Nepumuk
Hallo Sepp,
schon mal versehentlich ein Makro beim eintippen von Daten gelöscht? Ich noch nicht, aber dafür schon jede Menge Formeln :-)


Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lngRow As Long, lngCounter As Long
    If Not Application.Intersect(Target, Range("Namen")) Is Nothing Then
        Application.ScreenUpdating = False
        For lngRow = 1 To Range("Name").Cells.Count
            If Trim$(Range("Name").Cells(lngRow, 1).Text) <> "" Then
                lngCounter = lngCounter + 1
                Range("Nummer").Cells(lngRow, 1).Value = lngCounter
            Else
                Range("Nummer").Cells(lngRow, 1).Value = ""
            End If
        Next
        Application.ScreenUpdating = True
    End If
End Sub


Gruß
Nepumuk
Anzeige
Danke!
05.02.2005 22:38:03
Domi
Nochmals Grüezi Nepumuk und Sepp,
ich bin zu langsam beim Antworten.
Vielen Dank an Beide. Genau das habe ich gesucht!
mit freundlichen Grüssen
domi
@Nepumuk! Das du......
05.02.2005 22:42:59
Josef
.... aus versehen was löscht, kann ich mir nicht vorstellen ;-)))
Gruß Sepp
AW: @Sepp
05.02.2005 23:05:53
Nepumuk
Hallo Sepp,
dafür habe ich mir extra eine Krücke gebastelt (siehe Mustemappe B1:B10), welche es mir anzeigt, wenn ich eine Formel überschrieben habe.
https://www.herber.de/bbs/user/17531.xls
Gruß
Nepumuk
Anzeige
klevere Lösung! o.T.
05.02.2005 23:36:17
Josef
Gruß Sepp
AW: @Sepp und Nepumuk
th.heinrich
hallo an Euch,
sorry, wenn ich mich einmische, aber was spricht dagegen die zellen mit Formeln zu sperren und das blatt zu schützen?
https://www.herber.de/bbs/user/17533.xls
gruss thomas
AW: @Sepp und Nepumuk
06.02.2005 08:45:40
Josef
Hallo Thomas!
Natürlich nichts!
Es ist mehr als Spielerei zu sehen.
Gruß Sepp
Anzeige
AW: Nummerierung ohne leere Zellen
05.02.2005 22:34:18
Domi
Salü Sepp,
vielen Dank für deine Bemühungen.
Ja ich möchte es mit VBA machen!
Ist eine Tabelle auf die versch. Personen zugreifen. Und zur Zeit kann ich den Blattschutz nicht aktivieren, um so die Formeln zu schützen. Ist noch in der "Entwicklungsphase".
mit freundlichen Grüssen
domi
Anzeige
TEILERGEBNIS: Nummerierung ohne leere Zellen mit T
Beate
Hallo Domi,
ich habe mitgekriegt, dass du es mit VBA machen möchtest, habe aber auch noch eine interessante Formellösung:
 
 AB
1Nr.Name
21Al Kadi
3  
42Armborst
53Bacalanovic
64Barak
7  
85Borsch
9  
106Bosch
117Braun
Formeln der Tabelle
A2 : =WENN(B2="";"";TEILERGEBNIS(3;B$2:B2)*1)
A3 : =WENN(B3="";"";TEILERGEBNIS(3;B$2:B3)*1)
A4 : =WENN(B4="";"";TEILERGEBNIS(3;B$2:B4)*1)
A5 : =WENN(B5="";"";TEILERGEBNIS(3;B$2:B5)*1)
A6 : =WENN(B6="";"";TEILERGEBNIS(3;B$2:B6)*1)
A7 : =WENN(B7="";"";TEILERGEBNIS(3;B$2:B7)*1)
A8 : =WENN(B8="";"";TEILERGEBNIS(3;B$2:B8)*1)
A9 : =WENN(B9="";"";TEILERGEBNIS(3;B$2:B9)*1)
A10 : =WENN(B10="";"";TEILERGEBNIS(3;B$2:B10)*1)
A11 : =WENN(B11="";"";TEILERGEBNIS(3;B$2:B11)*1)
 
Gruß, Beate
Anzeige
Nachtrag
Beate
Ich vergaß zu erwähnen: Diese Formel ist im Gegensatz zu Josef's Formel gut, wenn man den Autofilter einsetzen will und die Nummerierung im gefilterten Zustand fortlaufend haben möchte. Ich habe das z.B. mal realisiert bei einer Schülerliste für eine ganze Schule. Jede Klasse wurde dann aber passend durchnummeriert, wenn man sie ausfilterte; das mal als Beispiel, wo der Vorteil liegt.
Gruß,
Beate
Anzeige
AW: Nachtrag
06.02.2005 04:22:10
Rentner
Auto-Nummerierung:
1. Formel in A1
2. Formel in A2
3. Formel von A2 nach unten kopieren
1) WENN(ISTLEER(B4);"";1)
2) WENN(NICHT(ODER(ISTLEER(A4);ISTLEER(B5)));$A$4+ANZAHL($A$4:A4);"")
Gruß Walter
AW: Nummerierung ohne leere Zellen
06.02.2005 04:33:09
Rentner
Hallo Domi,
Nummerierung ohne Makro
1. Formel in Zelle A4
2. Formel in Zelle A5
Dann Formel aus Zelle A5 nach unten kopieren
1) WENN(ISTLEER(B4);"";1)
2) WENN(NICHT(ODER(ISTLEER(A4);ISTLEER(B5)));$A$4+ANZAHL($A$4:A4);"")
Gruß Walter

Anzeige
Merci
06.02.2005 09:24:01
Domi
Guten Morgen miteinander,
vielen herzlichen Dank nochmals an alle, die sich meinem Problem angenommen haben.
Der Tip mit den Formeln ist auch Super.
mit freundlichen Grüssen Domi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nummerierung in Excel ohne leere Zellen


Schritt-für-Schritt-Anleitung

Um in Excel automatisch zu nummerieren, wenn Zellen nicht leer sind, gibt es mehrere Ansätze. Hier zeigen wir dir, wie du dies mit VBA und Formeln umsetzen kannst.

VBA-Methode:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim lngRow As Long, lngCounter As Long
       If Not Application.Intersect(Target, Range("Namen")) Is Nothing Then
           Application.ScreenUpdating = False
           For lngRow = 1 To Range("Namen").Cells.Count
               If Trim$(Range("Namen").Cells(lngRow, 1).Text) <> "" Then
                   lngCounter = lngCounter + 1
                   Range("Nummer").Cells(lngRow, 1).Value = lngCounter
               Else
                   Range("Nummer").Cells(lngRow, 1).Value = ""
               End If
           Next
           Application.ScreenUpdating = True
       End If
    End Sub
  4. Schließe den VBA-Editor und teste die Funktionalität in deiner Tabelle.

Formel-Methode:

  1. In Zelle A2 (Nummern) füge die folgende Formel ein:

    =WENN(B2<>"";ANZAHL2($B$2:$B2);"")
  2. Ziehe die Formel von A2 nach unten, um sie auf die restlichen Zellen anzuwenden.


Häufige Fehler und Lösungen

  • Fehler: Die Nummerierung wird nicht aktualisiert.

    • Lösung: Stelle sicher, dass der VBA-Code korrekt in das richtige Arbeitsblatt eingefügt wurde und die Range-Namen "Namen" und "Nummer" korrekt definiert sind.
  • Fehler: Formeln zeigen Fehler an.

    • Lösung: Überprüfe, ob die Zellen in der Spalte "Namen" korrekt gefüllt sind und keine unerwarteten Leerzeichen enthalten.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du die folgenden Formeln nutzen:

  • Für gefilterte Zeilen: Verwende die Formel TEILERGEBNIS, um die Nummerierung in gefilterten Daten fortlaufend zu halten:

    =WENN(B2="";"";TEILERGEBNIS(3;B$2:B2)*1)

Diese Formel kann in Zelle A2 eingefügt und nach unten kopiert werden.


Praktische Beispiele

Hier ist ein Beispiel, wie die Tabelle aussehen könnte:

Nummer Namen
1 Al Kadi
2 Armborst
3 Bacalanovic
4 Barak
5 Borsch

In diesem Beispiel wird die Nummerierung automatisch angepasst, wenn Namen hinzugefügt oder gelöscht werden.


Tipps für Profis

  • VBA anpassen: Du kannst den VBA-Code anpassen, um bestimmte Bedingungen zu berücksichtigen, z. B. nur Nummern zu zählen, die mit einem bestimmten Buchstaben beginnen.
  • Daten validieren: Stelle sicher, dass die Eingabewerte in der Spalte "Namen" validiert werden, um Fehler bei der Nummerierung zu vermeiden.
  • Blattschutz: Wenn du in einer Umgebung mit mehreren Benutzern arbeitest, erwäge, Blattschutz zu aktivieren, um versehentliche Änderungen der Formeln zu verhindern.

FAQ: Häufige Fragen

1. Wie kann ich die Nummerierung automatisch aktualisieren, wenn ich Zellen lösche? Die VBA-Methode aktualisiert die Nummerierung automatisch, wenn du Zellen in der Spalte "Namen" hinzufügst oder löscht.

2. Kann ich die Nummerierung auch für gefilterte Daten verwenden? Ja, die Formel mit TEILERGEBNIS ist ideal für gefilterte Daten, da sie die fortlaufende Nummerierung auch im gefilterten Zustand beibehält.

3. Welche Excel-Version benötige ich für diese Methoden? Diese Methoden funktionieren in Excel 2010 und neueren Versionen.

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