Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Laufende Nummer erstellen basierend auf größtem Wert
#1

.xlsx   Fortlaufende Nummer.xlsx (Größe: 8,05 KB / Downloads: 6)
Liebes Forum,

in einer Tabelle, die viele Personen nutzen, um Seminare einzutragen, sollen automatisch Seminarnummern erstellt werden. Weil in die Tabelle die Seminare nach Monaten eingetragen werden, kann es sein, dass in Zeile 25 ein Seminar vor Zeile 7 eingetragen wird, es kann sein, dass Zeilen eingefügt werden oder gelöscht, trotzdem soll eine fortlaufende Nummerierung entstehen. Außerdem kann es Leerzeilen geben, die natürlich keine Nummer erhalten sollen, aber das ist ja am einfachsten mit einer if-Text-Abfrage zulösen...

Hinzukommt, dass verschiedene Seminartypen auch noch verschiedene Nummern bekommen sollen, das Format ist so:

XX -17-YY

XX steht für die fortlaufende Nummer
17 für das aktuelle Jahr
YY für die Seminartypen 01 oder 02 oder 03...

Die Tabelle könnte so aus sehen, wie sie beispielhaft angehängt habe.

Liebe Grüße
Melange
Antworten Top
#2
Hallo,

Das Beispiel ist zu allgemein.
Warum soll die Seminarnummer in Zeile 15 erscheinen und nicht vorher schon in Zeile 7 oder 5 oder..... Wovon konkret hängt das ab

Außerdem ist eine saubere Lösung, meiner Meinung nach nicht ohne VBA Einsatz möglich. Die letzte genutzte Nummer sollte unveränderbar in einer Zelle und-oder auf einem anderen Blatt gespeichert werden.
Gruß Atilla
Antworten Top
#3
Hi,

(12.01.2017, 14:07)Melange schrieb: Die Tabelle könnte so aus sehen, wie sie beispielhaft angehängt habe.

ich hatte zuerst so gedacht:

Sheet1
ABCD
1lfd.Nr.SeminarnummerSeminarnameSeminartyp
2
3
411-17-3Excel für Anfänger3
5
6
7
8
9
1022-17-1Alternativen zu Excel1
11
12
13
14
1533-17-2Clever Excel Forum - ist ein Segen2

verwendete Formeln
Zelle Formel Bereich N/A
A2=WENN(C2<>"";MAX($A1:A$2)+1;"")
A3:A15=WENN(C3<>"";MAX($A$2:A2)+1;"")
B2:B15=WENN(C2<>"";A2&"-17-" &D2;"")
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit


Aber da ändert sich die lfd. Nr. und damit die Seminarnummer, wenn dazwischen Daten eingetragen werden.
Antworten Top
#4
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

'Diesen Code kopieren, Rechtsklick Tabellenreiter, "Code anzeigen", dort einfügen. In Spalte B Kursart eintragen!
 
 If Target.Column = 2 Then
    Application.EnableEvents = False
    Cells(Target.Row, 1) = WorksheetFunction.Max([A:A]) + 1
    Target = "'" & Cells(Target.Row, 1) & "-" & Right(Year(Date), 2) & "-" & Target
    Application.EnableEvents = True
 End If
End Sub
Antworten Top
#5
Hallo Lupo,

die Nummern sind Texte und deshalb kann kein Max festgestellt werden.

Nur als ergänzenden Hinweis:

statt so
Code:
Right(Year(Date), 2)


kann man auch
Code:
Format(Date, "YY")
Gruß Atilla
Antworten Top
#6
Die Kolleg_innen tragen die Seminare in die Zeilen wild durcheinander ein

1. Weil es Zwischenüberschriften für die Monate gibt.
2. Weil es schon immer so gemacht wurde.

D.h. die Nummer darf sich nicht verändern, wenn oberhalb oder unterhalb ein Seminar eingetragen wird oder eine Zeile hinzugefügt bzw. gelöscht wurde...

Ich habe auch mit Max rumgespielt, aber natürlich ändert sich auch dann die Seminarnummer, weil es ja eine Art Zirkelschluss wird...

VBA kenne ich mich gar nicht aus...

Gibt es vielleicht so eine Abfrage: wie lautet der höchtste Wert in Spalte A (genau jetzt) ... und addiere nun +1... (aber wenn es laufend aktualisiert wird, dann geht es immer weiter)...

Mmh, und ich merke gerade, dass es auch sehr blöd wäre, wenn ein kurzfristiges Löschen des Seminartitels (weil er sich geändert hat) zu einer neuen Nummernvergabe führt... vielleicht fällt mir gerade eine bessere Lösung ein, ich muss die Kolleg_innen einfach überzeugen, dass Sie die Liste nach den Nummern sortieren bevor sie was neues eingeben... ob das klappt... schade, ich hätte eine automatische Lösung toll gefunden...

Wenn Euch noch was einfällt gerne her damit, ansonsten danke
Melange
Antworten Top
#7
ach da kam ja noch was... ich könnte die Seminarnummer auch in zwei Schritten erstellen ... also erst wie lupo und dann die Nr. als Text ausgeben...probier ich mal aus
Antworten Top
#8
Hi,

(12.01.2017, 16:47)Melange schrieb: ich hätte eine automatische Lösung toll gefunden...

es könnte in der Tabelle einen Button geben "neues Seminar eintragen", dort steckt dann ein Makro dahinter, das die alten Einträge sortiert, die Daten des neuen Seminars abfrägt und als letzte Zeile in die Tabelle einträgt.
Fertig!

Damit werden Falsch- und Durcheinandereingaben sowie Lücken minimiert oder komplett vermieden.

Ist so was für euch denkbar?
Antworten Top
#9
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Rechtsklick Tabellenreiter, Code anzeigen, einfügen, in Spalte B Kursart eintragen
 If Target.Column = 2 Then
   Application.EnableEvents = False: With Cells(Target.Row, 1)
     .Value = IIf(.Value, .Value, WorksheetFunction.Max([A:A]) + 1)
     Target = "'" & .Value & "-" & Format(Date, "YY") & "-" & Target
   End With: Application.EnableEvents = True
 End If
End Sub
1. Format eingefügt (Attila)
2. A:A weiter als Zahlen angenommen (widerstreitende Behauptungen; habe Datei nicht geöffnet, sondern halte mich an Jeanie)
3. Vergebene lfd. Nr. wird jetzt beibehalten. Kann auch vorbesetzt werden in A.
Antworten Top
#10
WOW, was Lupo gebastelt hat, funktioniert ziemlich toll... leider muss ich befürchten, dass das trotzdem für mich nichts in der Praxis ist, weil wir den Seminartyp manchmal nachträglich verändern (anderer Fördertopf) und dann spukt er natürlich eine neue Nummer aus... aber im Prinzip ist es die Lösung gewesen...
Antworten Top


Gehe zu:


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