Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
396to400
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
396to400
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fortlaufende Nummer

Fortlaufende Nummer
12.03.2004 19:56:57
Frank
Guten Abend, zusammen!
In einer Excel-Tabelle werden täglich neue Eintragungen vorgenommen. Die Datei wird an jedem Jahresanfang neu angelegt. Die Eintragungen erhalten jeweils eine neue laufende Nummer. Das Aktenzeichen steht hierbei jeweils in Spalte B. Weitere Details zu dem Vorgang finden sich in den folgenden Spalten (ab C aufwärts). Damit die laufenden Nummern automatisch vergeben werden, sind die Zellen der Spalte A mit Formeln versehen, zum Beispiel in Zelle A444:
=WENN(B444<>0;A443+1;"")
Wenn also in Zelle B444 ein neues Aktenzeichen vergeben wird, wird in Zelle A444 die laufende Nummer errechnet, indem zur laufenden Nummer der vorhergehenden Zelle 1 addiert wird. So lange in Spalte B nichts steht, erscheint auch in Spalte A nichts (""). In dieser Weise sind fünftausend Zellen der Spalte A vorbereitet.
Kann man das nicht "schöner" gestalten, beispielsweise mit einer automatischen Zählfunktion?
Vielen Dank schon mal im voraus.
Frank

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortlaufende Nummer
12.03.2004 20:07:55
andre
hallo frank,
füge den code in diesearbeitsmappe ein (extras-makros-vba-editor, links im projektexplorer diesearbeitsmappe wählen):


Private Sub Worksheet_Change(ByVal Target As Range)
'1. in zeile 1 müssen ueberschriften stehen
'2. die letzte zeile des blattes darf keine werte enthalten
If Target.Column = 2 Then
   If Cells(Rows.Count, 2).End(xlUp).Row > Cells(Rows.Count, 1).End(xlUp).Row Then
      Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1) = Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1) + 1
   End If
End If
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

gruss andre
Anzeige
AW: Fortlaufende Nummer
12.03.2004 20:17:42
Frank
Vielen Dank für die schnelle Antwort, Andre!
Ich werde gern über Erfolg oder Misserfolg berichten.
Das wird aber sicher einige Zeit dauern, denn sowas habe ich noch nicht ausprobiert.
Ich melde mich aber wieder.
Gruß
Frank
Vielen Dank
13.03.2004 09:46:40
Frank
Hallo, Andre!
Nochmals vielen Dank für die schnelle Hilfe.
Ich habe versucht, den von Dir entwickelten Code in eine Arbeitsmappe einzufügen. Offenbar stelle ich mich aber zu blöd an, denn irgendwie erziele ich keinen Effekt.
Ich kämpfe weiter!
Gruß
Frank
AW: Fortlaufende Nummer
12.03.2004 20:13:01
Hans W. Herber
Hallo Frank,
AW: Fortlaufende Nummer
12.03.2004 20:18:09
andre
hallo hans,
dein makro hat eine schwachstelle - wenn man in spalte b eine reihe daten hat und mittendrin einen wert ändert dann wird in dieser zeile der endwert+1 eingetragen. deswegen gehe ich den weg mit der letzten zeile in spalte a und b.
gruss andre
Anzeige
AW: Fortlaufende Nummer
12.03.2004 20:20:26
Hans W. Herber
Hallo Andre,
die Frage ist einfach, was gewollt ist. Wenn die Zeilen immer kontinuerlich untereinander eingetragen werden, ist Deine Lösung natürlich die richtigere.
Gruss hans
AW: Fortlaufende Nummer
12.03.2004 20:24:59
andre
hallo hans,
der ordnung halber bin ich davon ausgegangen ;-) ansonsten ist es auch ok.
gruss andre
AW: Fortlaufende Nummer
12.03.2004 20:34:34
Frank
Hallo, Hans und Andre!
Tatsächlich sollen die Zeilen schön der Reihe nach von oben nach unten ausgefüllt werden, so dass das Problem leerer Zwischenzeilen hoffentlich nicht auftaucht.
Ich werde es ausprobieren.
Nochmals vielen Dank.
Gruß
Frank
AW: Fortlaufende Nummer
12.03.2004 20:25:33
Frank
Hallo, Hans!
Vielen Dank für Deine schnelle Antwort. Ich habe die Datei geladen (jetzt noch nicht angesehen) und werde versuchen, damit zurechtzukommen.
Ich bin in jedem Fall schon jetzt beeindruckt vom Tempo dieses Forums.
Weiter so!
Gruß
Frank
Anzeige
Vielen Dank
13.03.2004 09:43:35
Frank
Hallo, Hans!
Deine Lösung funktioniert. Ich werde versuchen, sie in die betreffende Datei "einzubauen."
Nochmals vielen Dank für die schnelle Hilfe.
Gruß
Frank
AW: Fortlaufende Nummer
12.03.2004 20:15:43
Uwe
Hallo, Frank!
Kann das so funktionieren, wie Du beschrieben hast?
Wenn in Zelle B444 ein Wert 0 erkannt wird, dann wird in Zelle A444 eine Zahl eingetragen, die um 1 größer ist, als die in Zelle A443. Wurde jedoch in Zelle B443 eine 0 erkannt, so wird auch in Zelle A443 nicht stehen. Damit würde also in Zelle A444 eine 1 stehen, wenn in B444 eine Zahl ungleich Null und in B443 kein Eintrag steht(Wert wird als Null erkannt).
Um nun in der Spalte A nur in der Zeile einen Eintrag zu erhalten, in deren Spalte B ein Wert eingetragen steht, könnte man m.E., sofern in der Spalte ausschliesslich die "lfd.Nr." stehen, folgende Zellenformel für die Zellen der Spalte A wählen:
=WENN(ISTZAHL(B444);MAX(INDIREKT("A1:A"&ZELLE("Zeile";A443)))+1;"")
(Formel nicht getestet)
Gruß,
Uwe
Anzeige
AW: Fortlaufende Nummer
12.03.2004 20:31:35
Frank
Hallo, Uwe!
Vielen Dank für Deine schnelle Antwort.
Die neuen Vorgänge in Spalte B werden - wie auf einem guten, alten Blatt Papier - immer schön der Reihe nach von oben nach unten ausgefüllt. Das von Dir angesprochene (aufgrund meiner unvollständigen Beschreibung aber konsequent gedachte) Problem leerer Zwischenzeilen sollte (hoffentlich) nicht auftauchen.
Ich werde jedoch Deinen Vorschlag in Ruhe ausprobieren und gern über Erfolg oder Misserfolg berichten.
Gruß
Frank
AW: Fortlaufende Nummer
12.03.2004 20:51:33
Uwe
Unzureichend beschrieben, von Dir, Frank?
Konsequent gedacht, von mir? ;-)
Nee, Deine Formulierung:hat mich veranlasst nachzufragen.
Diese Antwort bietet mir Gelegenheit, darauf hinzuweisen, dass diese Formel natürlich erst ab Zeile 2 eingesetzt werden kann und in A1 kein Wert stehen darf, der als Anfangswert interpretiert werden könnte. Zudem ist zu beachten, dass ich die Zelle B nach der Eigenschaft ISTZAHL untersuche, so dass ggf., wenn dort alphanumerische Werte zum Einsatz kommen, eine Anpassung dieser Abfrage. z.B. ISTLEER(B444)=FALSCH, erforderlich wird.
Gruß!
Anzeige
AW: Fortlaufende Nummer
12.03.2004 22:41:37
Uwe
Hallo, Frank!
Soweit ich im Verlauf der Beitragskette mitbekommen habe, ist es eigentlich nicht vorgesehen, dass in der Spalte B unbesetzte Zellen sich befinden. Damit wird natürlich mein Ansatz unbedeutend, da Dein Ausgangsansatz ja genau die selbe Zahleneintragungen bringt und zwar wesentlich schneller, die MAX-Funktion nicht eingesetzt werden braucht.
Da es Dir jedoch anscheinend darum geht, nicht in einer endlosen Anzahl von Zeilen, unterhalb der letzten Eintragung in der Spalte B, die Formel "vorzuhalten", bleibt in der Tat nur der Weg, der Dir hier von Andre über die VBA-Subroutine vorgestellt wurde.
Viel Erfolg!
Uwe
Anzeige
Vielen Dank
13.03.2004 09:51:45
Frank
Hallo, Uwe!
In der Tat ging es mir - obwohl nicht ausdrücklich erwähnt - darum, nicht endlose Reihen vorbereiteter Formeln vorzuhalten. Besonders, wenn man zur letzten ausgefüllten Zeile will (Strg+Cursorpfeil nach unten), landet man bei der derzeit verwendeten Datei eben nicht in der letzen (sichtbar) ausgefüllten Zeile, sondern in der noch nicht verwendeten Zeile was-weiß-ich-wieviel-tausend, die als letzte die vorbereitete Zählformel enthält.
Ich probiere es mit den VBA-Lösungen, scheitere derzeit aber noch am technischen Verständnis.
Nochmals vielen Dank für Deine Mühe.
Gruß
Frank
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige