Registriert seit: 12.01.2017
Version(en): 2013
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
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Registriert seit: 10.04.2014
Version(en): 2016 + 365
12.01.2017, 16:44
(Dieser Beitrag wurde zuletzt bearbeitet: 12.01.2017, 16:44 von Rabe.)
Hi, (12.01.2017, 15:07)Melange schrieb: Die Tabelle könnte so aus sehen, wie sie beispielhaft angehängt habe. ich hatte zuerst so gedacht: Sheet1 | A | B | C | D | 1 | lfd.Nr. | Seminarnummer | Seminarname | Seminartyp | 2 | | | | | 3 | | | | | 4 | 1 | 1-17-3 | Excel für Anfänger | 3 | 5 | | | | | 6 | | | | | 7 | | | | | 8 | | | | | 9 | | | | | 10 | 2 | 2-17-1 | Alternativen zu Excel | 1 | 11 | | | | | 12 | | | | | 13 | | | | | 14 | | | | | 15 | 3 | 3-17-2 | Clever Excel Forum - ist ein Segen | 2 |
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.
Registriert seit: 04.03.2015
Version(en): 2000 + meist 2010
12.01.2017, 17:38
(Dieser Beitrag wurde zuletzt bearbeitet: 12.01.2017, 17:38 von lupo1.)
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
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Gruß Atilla
Registriert seit: 12.01.2017
Version(en): 2013
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
Registriert seit: 12.01.2017
Version(en): 2013
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
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi, (12.01.2017, 17: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?
Registriert seit: 04.03.2015
Version(en): 2000 + meist 2010
12.01.2017, 18:21
(Dieser Beitrag wurde zuletzt bearbeitet: 12.01.2017, 18:22 von lupo1.)
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.
Registriert seit: 12.01.2017
Version(en): 2013
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...
|