Da hast du wohl etwas vergessen, ...
02.01.2013 18:39:50
Luc:-?
…Armin (s.Hajo). ;-)
Allerdings geht das auch anders als ihr beide euch das vorstellt, aber natürlich auch nur mit VBA.
If Target.Column = 1 And Right(Target.Value, 1) = "L" Then _
Target = Left(Target, 3) & "/" & Mid(Target, 4, 6) & "-L"
…wäre das Richtige, das man aber auch allgemeiner fassen müsste, falls das letzte Zeichen auch ein anderes als L sein könnte. Deshalb fasse ich die folgende Alternative gleich so ab.
Der Grund, warum es so nicht geht, Sylva,
ist, dass du durch Hinzufügen des L aus der Zahl einen Text machst. Texte können idR nicht intern (in der Art von Zahlen) mit zusätzlichen Zeichen ergänzt wdn (nur voran- bzw nachgestellt). Du könntest aber natürlich auch das L per benutzerdefinierter Formatierung hinzufügen. Dann ginge das auch per Fml, aber eben nur für festgelegte Endbuchstaben. Hier mal für L:
=WENN(RECHTS(A1)="L";--LINKS(A1;LÄNGE(A1)-1);A1)
Dazu dann das bendefFormat 000"/"000000"-L". Falls der Endbuchst aus irgendwelchen Gründen nicht entfernt wdn kann/soll, ist es aber auch möglich, das gewünschte Format unter Benutzung des Originals direkt als benutzerdefiniert einzutragen. Das muss dann natrlich für jeden Wert separat erfolgen. Wenn das unmittelbar beim Eintrag erfolgen soll, dann ebenfalls per Ereignisprozedur …_Change:
Const adGeltBer$ = "An:Xn"
If Not Intersect(Target, Me.Range(adGeltBer)) Is Nothing Then Target.NumberFormat = _
"0;;;" & Left(Target, 3) & "\/" & Mid(Target, 4, 6) & "\-" & Right(Target, 1)
Dabei steht adGeltBer für die Adresse des Geltungsbereichs dieser Operation.
Gesundes Neues! Gruß Luc :-?