Herbers Excel-Forum - das Archiv

Automatische Nummerierung?

Bild

Betrifft: Automatische Nummerierung?
von: Dieter

Geschrieben am: 19.02.2005 16:33:17
Hallo,
ich hab in einer Tabelle in Spalte A von A2 ab nach unten eine Nummerierung,
die ich mit der Formel =ZEILE()-1 erzeuge.
Wenn ich nun Zeilen einfüge, muss ich die Formel von Hand ergänzen. Für mich
ist das kein Problem, aber die Damen die damit arbeiten, hätten es gern
bequemer.
Kann man das mit einem Makro automatisieren und vor allem, wie?
Noch besser wäre, wenn ein neuer Datensatz angelegt wird, dass die Nummerierung
automatisch weitergeführt wird.
Gruß Dieter
Bild

Betrifft: AW: Automatische Nummerierung?
von: Josef Ehrensberger

Geschrieben am: 19.02.2005 16:37:31
Hallo Dieter!
Das geht auch ohne VBA!
 
 AB
11test
2  
3  
4  
52test
63test
7  
8  
94test
Formeln der Tabelle
A1 : =WENN(B1<>"";ANZAHL2($B$1:B1);"")
A2 : =WENN(B2<>"";ANZAHL2($B$1:B2);"")
A3 : =WENN(B3<>"";ANZAHL2($B$1:B3);"")
A4 : =WENN(B4<>"";ANZAHL2($B$1:B4);"")
A5 : =WENN(B5<>"";ANZAHL2($B$1:B5);"")
A6 : =WENN(B6<>"";ANZAHL2($B$1:B6);"")
A7 : =WENN(B7<>"";ANZAHL2($B$1:B7);"")
A8 : =WENN(B8<>"";ANZAHL2($B$1:B8);"")
A9 : =WENN(B9<>"";ANZAHL2($B$1:B9);"")
 


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: AW: Automatische Nummerierung?
von: Dieter
Geschrieben am: 19.02.2005 16:42:13
Hallo,
danke, aber das geht an meinem Problem etwas vorbei. Mir gehts in erster Linie darum,
dass die Formeln automatisch auf eingefügte zeilen übertragen werden.
Gruß Dieter
Bild

Betrifft: AW: Automatische Nummerierung?
von: Josef Ehrensberger

Geschrieben am: 19.02.2005 16:49:13
Hallo Dieter!
Mit VBA geht's so!
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, i As Integer, lastRow As Long
'Nur wirksam bei Änderungen im Spalte "B"
If Target.Column = 2 Then
lastRow = Range("B65536").End(xlUp).Row
On Error GoTo ERRORHANDLER
With Application
.EnableEvents = False      'Ereignisse ausschalten
.ScreenUpdating = False    'Bildschirmaktualisierung ausschalten
.Cursor = xlWait           'Cursor "ruhigstellen"
End With
'Alle Zellen des Bereiches durchlaufen
For Each rng In Range("B1:B" & lastRow)
rng.Offset(0, -1) = ""  '"Alte" Nummereierung entfernen
If rng <> "" Then    'Nummerierung neu setzen
i = i + 1
rng.Offset(0, -1) = i
End If
Next
End If
ERRORHANDLER:  'Fehlerbehandlung
With Application
.EnableEvents = True     'Ereignisse einschalten
.ScreenUpdating = True   'Bildschirmaktualisierung einschalten
.Cursor = xlDefault
End With
End Sub

Der Code gehört in das Modul der Tabelle!
(Rechtsklick auf Blatteregister > Code anzeigen > in das rechte Fenster Kopieren!)
Beim Löschen oder Einfügen von Zellen/Zeilen wird die Nummerierung erst
nach einem Eintrag in Spalte "B" aktualisiert!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: AW: Automatische Nummerierung?
von: Dieter
Geschrieben am: 19.02.2005 17:04:17
Hallo,
danke, nicht ganz so, wie ich mir das vorstellt habe, aber schon mal ein Fortschritt.
Gruß Dieter
 Bild
Excel-Beispiele zum Thema "Automatische Nummerierung?"
Automatische Datumformatierung unterdrücken Automatisches Komplettieren einer Zelleingabe
Nach Zelleingabe automatische Sortierung Automatische Sortierung bei Zelleintrag
Automatische Passworteingabe in Internet-Formular