Supportnet / Forum / Tabellenkalkulation
Laufende Nummerierung mit Änderungen
Frage
Hallo,
ich soll eine Wiedervorlageliste mit Excel 2000 erstellen. Die erste Spalte soll eine laufende Nummer bekommen, dann ein Datum und dann noch drei Spalten mit Infos. Ich frage mich, wie ich Excel dazu bringen kann, die laufende Nummerierung automatisch anzupassen, wenn eine Zeile hinzugefügt wird, weil ein neuer Fall mit einer neuen Widervorlage irgendwo zwischen den bereits vorhandenen Fällen eingefügt werden muss.
Habes bisher eine Autoliste in der ersten Spalte, sobald ich eine Zeile einfüge, hat diese aber keine Nummer und die anderen Nummern ändern sich nicht.
Wer kann mir helfen?
Und bitte keine Vorschläge a'la versuchs mit Access. Das Programm haben wir nicht und ich kenne mich damit nicht aus ;)
Vielen Dank,
Tim!
Antwort 1 von Guenter
Hi Tim,
mit einem Excel-Makro lässt sich das machen (wenn ich es recht verstanden habe). Voraussetzung: in der 1. Zeile sind die Überschriften, in die 2. Spalte fügst Du neue Daten ein.
Wenn das gemacht ist, Makro ablaufen lassen. Das Makro zählt die Einträge in der 2. Spalte und ändert die laufende Nummer in der 1. Spalte.
Gruß
Günter
mit einem Excel-Makro lässt sich das machen (wenn ich es recht verstanden habe). Voraussetzung: in der 1. Zeile sind die Überschriften, in die 2. Spalte fügst Du neue Daten ein.
Wenn das gemacht ist, Makro ablaufen lassen. Das Makro zählt die Einträge in der 2. Spalte und ändert die laufende Nummer in der 1. Spalte.
Option Explicit
Sub test()
Dim n
Cells(2, 1).Value = 1
For n = 3 To Cells(Rows.Count, 2).End(xlUp).Row
Cells(n, 1).Value = Cells(n - 1, 1).Value + 1
Next
End Sub
Gruß
Günter
Antwort 2 von klaas
Hallo Tim,
es geht genauso einfach auch ohne Makro, wenn Du die Nummerierung nicht einzeln vornimmst, sondern z.B. in Zelle A3 einträgst: =a2+1
Diese Formel nach unten kopiert sorgt zunächst für eine fortlaufende Nummerierung.
Wenn nun eine Zeile dazwischenkommt, einfach die Formel aus der Zelle darüber in die neue Zeile kopieren und alle Zeilen haben die neue Nummer.
Gruß
Klaas
es geht genauso einfach auch ohne Makro, wenn Du die Nummerierung nicht einzeln vornimmst, sondern z.B. in Zelle A3 einträgst: =a2+1
Diese Formel nach unten kopiert sorgt zunächst für eine fortlaufende Nummerierung.
Wenn nun eine Zeile dazwischenkommt, einfach die Formel aus der Zelle darüber in die neue Zeile kopieren und alle Zeilen haben die neue Nummer.
Gruß
Klaas
Antwort 3 von coros
Moin Klaas,
ganz so wie Du es geschrieben hast, stimmt das nicht. Der Abschnitt mit der Formel ist schon richtig. Allerdings reicht es nicht aus, wenn eine Zeile eingefügt wurde, nur die Formel aus der darüberliegenden Zelle in die neue Zelle zu kopieren, sondern die Formel muss kommplett bis zur letzten beschrienbenen Zelle herunterkopiert werden. Würde das nicht so gemacht, würde in der neuen und in der darunterliegenden Zelle die gleiche Nummerierung stehen.
MfG,
coros
Jeder macht was er will, keiner macht was er soll aber alle machen mit.
ganz so wie Du es geschrieben hast, stimmt das nicht. Der Abschnitt mit der Formel ist schon richtig. Allerdings reicht es nicht aus, wenn eine Zeile eingefügt wurde, nur die Formel aus der darüberliegenden Zelle in die neue Zelle zu kopieren, sondern die Formel muss kommplett bis zur letzten beschrienbenen Zelle herunterkopiert werden. Würde das nicht so gemacht, würde in der neuen und in der darunterliegenden Zelle die gleiche Nummerierung stehen.
MfG,
coros
Jeder macht was er will, keiner macht was er soll aber alle machen mit.
Antwort 4 von Martina
Hallo Tim,
ich hab dir mal ein kleines Makro geschrieben. Hier musst du nur in die neu eingefügte Zeile irgend etwas an die Stelle der Nummerierung einschreiben und dann das Macro durchlaufen lassen.
Viel Spaß damit.
Gruß Martina
ich hab dir mal ein kleines Makro geschrieben. Hier musst du nur in die neu eingefügte Zeile irgend etwas an die Stelle der Nummerierung einschreiben und dann das Macro durchlaufen lassen.
Sub Makro()
Dim Zeile, Wert
Zeile = 2 'der 1. Wert deiner lfd. Nummerierung steht in Zeile 2
Wert = Range("A" & Zeile)
While Wert <> ""
Range("A" & Zeile + 1) = Range("A" & Zeile) + 1
Wert = ""
Zeile = Zeile + 1
Wert = Range("A" & Zeile + 1)
Wend
End Sub
Viel Spaß damit.
Gruß Martina
Antwort 5 von want2cu
Hallo zusammen,
man könnte das auch mit der Funktion ZEILE() lösen. Je nachdem, wo die Liste beginnt, dann eben den entsprechenden Wert abziehen, also bei Listenbeginn in Zeile 3 hiesse die Formel
=ZEILE()-2
Diese Formel ganz einfach kopieren. Wenn neue Daten über DATEN-MASKE hinzugefügt werden, wird die Formel autpamtisch mit eingefügt und die Nummerierung stimmt wieder.
CU
want2cu
man könnte das auch mit der Funktion ZEILE() lösen. Je nachdem, wo die Liste beginnt, dann eben den entsprechenden Wert abziehen, also bei Listenbeginn in Zeile 3 hiesse die Formel
=ZEILE()-2
Diese Formel ganz einfach kopieren. Wenn neue Daten über DATEN-MASKE hinzugefügt werden, wird die Formel autpamtisch mit eingefügt und die Nummerierung stimmt wieder.
CU
want2cu

