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.

Grossbuchstaben in Kombi mit Zahlen in einem bestimmten Format
#1
Hallo Zusammen,

ich bin ...

... Excel-User auf einem Niveau von einer guten Vier bis Fünf in Schulnoten (Selbsteinschätzung). Also nicht ganz Hoffnungslos, aber weit von einem Profi entfernt.
... hier im Büro mit Excel Office Standard 2010 unterwegs. 
... auf der Suche nach einer Lösung für folgendes Problem:

Ich möchte eine kleine Tabelle erstellen, in denen eine Kombination aus einem (Gross-)Buchstabe und 6 Zahlen in einem bestimmten Format angezeigt werden. 

Beispiel: wenn ich "t12346" eingebe, soll es als "T12.345/6" angezeigt werden. Ich kann den Bereich der Zahlenreihe mit "Zellen formatieren/Benutzerdefiniert" einfach in "12.345/6" anzeigen lassen.

Aber wie bekomme ich es hin, dass der (beliebige) voran eingegebene Buchstabe immer als Grossbuchstabe ausgegeben wird?
Gerd Geist 
Zahlen sind ehrlich und belügen einen nie!  100
Antworten Top
#2
Hallo,

wenn es in einer Spalte sein soll, geht es wohl nur mit VBA.

In zwei Spalte ginge es mit Formeln

Code:
=gross(links(a1;1))

mfg

ungetestet
Antworten Top
#3
Hallo Fennek,

Kannst Du mir hier helfen? Ich gebe zu, dass ich mich mal vor langer Zeit ein klein wenig an VBA versucht habe, aber so richtig vertieft habe ich es dann doch nicht mehr.
Gerd Geist 
Zahlen sind ehrlich und belügen einen nie!  100
Antworten Top
#4
Hallo,

ich finde eine Lösung mit Formeln und zwei Spalten einfacher.

Mit VBA: Wenn in Spalte A ein Wert mit einem Buchstaben gefolgt von 6 Zahlen eingegeben wird, sollte das Format wie im Ausgangspost beschrieben, erstellt werden:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Len(Target) = 7 And VBA.IsNumeric(Mid(Target, 2)) Then
    With Target
        .Characters(7, 0).Insert ("/")
        .Characters(4, 0).Insert (".")
        .Value = UCase(.Value)
    End With
Else
End If
End Sub

Dieser Code muss in das Code-Teil des Sheets.

Schauen wir mal.

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • GerdGeist
Antworten Top
#5
In Excel
PHP-Code:
=PROPER(LEFT(A1))&TEXT(MID(A1;2;LEN(A1));"0\.000\/0"
In VBA
Code:
Sub M_snb()
   MsgBox Format([A1], ">@@@.@@@/@")
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
ja, ich hatte das mit dem Format nicht hinbekommen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 And Target Like "[A-z]######" Then
    Target = UCase(Format(Target, "@@@.@@@/@"))
Else
    MsgBox "Falsche Eingabe"
End If
Application.EnableEvents = True
End Sub
Antworten Top
#7
Hallo Fennek,

Dein erster Code funktioniert PERFEKT (in Spalte A). Die Werte sollen aber in Spalte $B:$P in diesem Format erscheinen. Spalte A ist quasi Formationsfrei.

Das Ganze soll so aussehen wie im Anhang. Das mit der Zeile "MsgBox "Falsche Eingabe" ist eigentlich nicht nötig (von meiner Seite aus). ist es für den Code relevant?


Angehängte Dateien
.xlsm   Ablage Objekte.xlsm (Größe: 60,23 KB / Downloads: 3)
Gerd Geist 
Zahlen sind ehrlich und belügen einen nie!  100
Antworten Top
#8
Dann so:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, ActiveSheet.Columns("B:P")) Is Nothing And Target Like "[A-z]######" Then
    Target = UCase(Format(Target, "@@@.@@@/@"))
End If
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • GerdGeist
Antworten Top
#9
Guten Morgen Fennek,

Vielen Dank, das war genau das Richtige. Ich hatte mal 1997 ein wenig in VBA "reingeschnuppert" mit Excel 95 und 97. Aber dann geschäftlich wieder davon weggekommen. Ich muss definitiv da wieder was tun.

Danke
Gerd Geist 
Zahlen sind ehrlich und belügen einen nie!  100
Antworten Top


Gehe zu:


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