Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Automatische Nummerierung
#1
Guten Morgen,

ist es möglich, eine Automatische ID=Nummer fortlaufend erzeugen zu lassen wenn in C4 was eingetragen wird?

Ich habe es schon mit WENN versucht, aber da spukt er mit #Wert! raus.
Das liegt bestimmt daran, dass es kein Zeitwert ist, was bei wenn reingeschrieben wird, ich habe Buchstaben bzw. Wörter reingeschrieben.
oder

Tabelle beginnt 
Gebiet
Überschrift B3:C3

Eintrag ab: ID B4 , Soll erzeugt werden, wenn in C4 was reingeschrieben wird, ob zahl oder Buchstaben.
Eintrag C4

Gruß
Rogue
Antworten Top
#2
Hallo Rogue,

Formel in B4 und runterziehen:

=WENN(LÄNGE(C4);MAX($B$3:B3)+1;"")

Gruß, Uwe
Antworten Top
#3
Hi,

oder auch:

=WENN(C4="";"";SUMME(1;B3))
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#4
Ich muss mal wieder den Miesepeter spielen:
(17.04.2024, 03:54)Rogue schrieb: aber da spukt er
Ja, spuken tut es wirklich.

1) Die 2. Formel fängt nach Leerzeilen (ja, pfui, sowas gibt es natürlich nicht...) wieder bei 1 an... Schwarze Magie?
2a) Eine ID lässt sich per Formel zwar erzeugen, sie ist dann aber nicht fix. Sobald man den Datenbereich sortiert, sortieren sich die IDs nicht mit, gehören dann also zu jeweils anderen Datensätzen. Hexerei? 
2b) Noch seltsamer: Sortiert man die Spalte mit den IDs absteigend, ändern sich zwar alle anderen Werte, die IDs bleiben aber gleich! Teufelswerk!
3) Die Formeln erweitern sich nicht automatisch, wenn man sie nicht innerhalb einer intelligenten Tabelle einsetzt - oder man ist wieder bei Formelbevorratung.

Zusammengefasst: IDs mit Formeln zu erzeugen ist zwar möglich, aber unsicher. Will man IDs als Festwert, wäre VBA eine Idee - sofern man es sich zutraut und will, dass die Mappe deswegen zur xlsm wird.
Antworten Top
#5
Hallo

mit diesem Code, der in das aktive Tabellenblatt gehört, wird eine fortlaufende ID-Nummer erzeugt.
Er ist nur bei der Zeile 4 Nicht aktiv, weil er immer die Nummer der vorherigen Zelle um +1 erhöht.

mfg Gast 123

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Columns(3), Target) Is Nothing Then
If Target.Row > 4 Then
   Application.EnableEvents = False
   Cells(Target.Row, 2) = Cells(Target.Row - 1, 2) + 1
   Application.EnableEvents = True
End If
End If
End Sub

Nachtrag:  weil diese ID-Nummer ein fester Wert ist kann sie problemlos sortiert werden.
Antworten Top
#6
(18.04.2024, 19:28)Gast 123 schrieb: mit diesem Code, der in das aktive Tabellenblatt gehört, wird eine fortlaufende ID-Nummer erzeugt.

Moin,

und nach dem Sortieren und Ändern in Spalte 3 werden die IDs munter neu vergeben und geändert.

Viele Grüße 
derHöpp
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  •
Antworten Top
#7
Das Thema ist nicht so trivial, wie es aussieht.
Antworten Top
#8
Hallo

und herzlichen Dank an die Kollegen, das ihr mich auf einen schwerwiegenden Fehler aufmerksam gemacht habt.
Bitte diese Codezeile wie unten ändern, dann klappt es:   Cells(Target.Row, 2)  = Cells(Target.Row -1, 2) +1
  Cells(Target.Row, 2) = Application.WorksheetFunction.Max(Columns(2)) + 1

mfg Gast 123
Antworten Top
#9
Moin,

geändert werden die IDs damit immer noch.

Viele Grüße 
derhöpp
Antworten Top
#10
Hallo

@derHöpp   in der Anfrage stand, doch, das die ID fortlaufend durchnummeriert werden soll.
Was ist jetzt noch an meinem Code falsch??  Habe ich da einen logischen Blackout??

mfg Gast 123
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste