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.

Komplexes zählverhalten
#31
Alternatieve:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count = 1 And Target.Column = 2 Then
    If Target <> "" And Target.Offset(, -1) = "" Then Target.Offset(, -1) = Format(Date, "YYMM - ") & Format(IIf(Left(Target.Offset(-1, -1), 4) <> Format(Date, "YYMM"), 0, Right(Target.Offset(-1, -1), 3) + 1), "000")
  End If
End Sub
Dann braucht man kein 'Administrator' Arbeitsblatt mehr.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#32
@snb

Code:
Right(Target.Offset(-1, -1), 3) + 1)

das ist genau das, was nicht passieren darf! Du beziehst Dich auf die Vorgängernummer und berücksichtigst nicht, dass dadurch eine doppelte, oder noch schlimmer, mehrfache Vergabe einer ID für unterschiedliche Datensätze, die vermieden werden soll, ermöglicht wird. So wird die Eineindeutigkeit zerschossen und andere Tabellenblätter, die sich auf diese ID beziehen, liefern Dir u.U. falsche Ergebnisse. 
Cinderella, bleib beim Administratorblatt! Unabhängig von der Vorgängerzelle.... ansonsten hätten wir ja auch bei Max oder der Zeilennummer bleiben können...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#33
Moin nochmal von mir!
Ich bin ja immer noch der Meinung, dass man den aktuellen Monat und das Jahr im Kopf haben sollte.
Eine selbständige Addition von 1 traue ich den meisten Sachbearbeitern zu …  21

Wenn ich unbedingt sicherstellen will, dass die Nummer eindeutig ist (und auf VBA zurückgreifen will), dann nehme ich einen Timestamp im entsprechenden Format.
Diesen trage ich per Doppel- oder Rechtsklick in die Zelle ein:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
  If .Column = 1 And .Value = "" Then
    .Value = CDbl(Format(Now, "yyyymmhhnnss"))
    Cancel = True
  End If
End With
End Sub
 
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#34
...Timestamp ist immer gut....  94
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#35
Moin,

Im allgemeinen sei empfohlen in eindeutigen Ziffern nicht weitere Informationen zu verschlüsseln. Welchen Vorteil hast du davon, dass du einer Mitgliedsnummer ihr alter ansiehst? Wenn du das Eintrittsdatum einfach als zusätzliches Stammdatum erfasst, reicht eine einfache fortlaufende Nummer.
Also: Grundsätzlich hat eine ID keine andere Bedeutung als ihre Eindeutigkeit.

Viele Grüße
derHöpp
Antworten Top


Gehe zu:


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