Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Benutzerdefinierte Zahlenformatierung

Benutzerdefinierte Zahlenformatierung
02.01.2013 07:38:33
Sylva
Hallo liebe Forumsmitglieder,
ich gebe in dieZelle A1 folgenden Wert ein 644123456L und möchte nach Bestätigung der Eingabe folgende Anzeige in der Zelle A1 erhalten 644/123456-L
Nur für die Zahlen habe ich das auch schon gelöst 000"/"000000"-"
Sobald ich den Buchstaben dazu eingebe erhalte ich immer nach Bestätigung meiner Eingabe die Anzeige 644123456L
Ich hoffe ihr könnt mir helfen und vorab schon vielen Dank für eure Hilfe
Viele Grüße
Sylva

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierte Zahlenformatierung
02.01.2013 07:59:08
schauan
Hallo Sylvia,
hier ist eine gute Übersicht, was so alles mit der benutzerdefinierten Formatierung geht. Leider ist Deine Anforderung nicht möglich.
http://www.online-excel.de/excel/singsel.php?f=71#s5
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

AW: Benutzerdefinierte Zahlenformatierung
02.01.2013 08:37:05
Armin
Guten Morgen Sylva,
das geht nur mit VBA. Wenn Du den folgenden Code in die Klassenseite der Tabelle kopierst müsste die Formatierung Deinen Wünschen entsprechen.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errExit
Application.EnableEvents = False
If Target.Column = 1 And Right(Target.Value, 1) = "L" Then
Target.Value = Left(Target.Value, 3) & "/" & Mid(Target, 4, 10)
End If
errExit:
Application.EnableEvents = True
End Sub
LG Armin

Anzeige
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 :-?

Anzeige
AW: Da hast du wohl etwas vergessen, ...
03.01.2013 08:57:52
Armin
zunächst auch erst mal ein gesundes Neues. Luc wenn ich aus jeder Forum-Anfrage eine Wissenschaft machen würde, weis dann der "Frager" nicht mehr was ist denn nun richtig. Natürlich sind fasst immer verschiedene Wege gangbar. Aber Dein Vorschlag ist für VBA Neulinge/Anfänger nur komplizierter zu verstehen. Im Übrigen, muss man in einem Forum nicht ständig beweisen, was man alles so drauf hat.
Wenn Du schon unbedingt den Fall berücksichtigen willst das kein "L" am Ende steht, dann muss man konsequenter weise auch davon ausgehen das die Zeichenzahl variabel sein kann und dann funktionieren beide Varianten nicht mehr.
Gruß Armin

Anzeige
AW: Da hast du wohl etwas vergessen, ...
03.01.2013 09:28:25
schauan
Hallo zusammen,
um mal noch einen Vorschlag ohne VBA einzubringen - wie wär's, wenn für abschliessende Buchstaben eine zusätzliche "Eingabespalte" genutzt wird? Dann kann man die Zahlenformatierung wie gehabt lösen. Sollte die Buchstabeneingabe auf einige begrenzt sein, kann man noch eine Gültigkeit verwenden.
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

An deine Adresse gerichtet, ...
03.01.2013 17:01:42
Luc:-?
…Armin,
war eigentl nur, dass du den Strich vor L vergessen hast, Hajo aber nicht! Alles Andere sind Alternativlösungen, die man hier doch wohl anbieten/vorstellen darf, auch, wenn man nicht schon fast 8 Jahre dabei wäre wie ich. Insofern sind mir deine diesbzgl Ausführungen unverständlich. So etwas lese ich sonst nur gelegentl bei Office-Loesung. Hier ist das Vorstellen von Alternativen durchaus üblich, nur unnütze Wiederholungen in relevant größerem zeitlichen Abstand sind ärgerlich.
Gruß Luc :-?

Anzeige
AW: Benutzerdefinierte Zahlenformatierung
02.01.2013 09:17:31
Hajo_Zi
Hallo Sylvia,
unter die Tabelle folgenden Code.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Len(Target) = 10 Then
Application.EnableEvents = False
Target = Left(Target, 3) & "/" & Mid(Target, 4, 6) & "-" & Right(Target, 1)
Application.EnableEvents = True
End If
End If
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige