Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
932to936
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
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelleninhalt kürzen

Zelleninhalt kürzen
07.12.2007 08:28:12
Thomas
Guten Morgen
Ich habe folgendes Problem. Ich überprüfe nach der Eingabe in eine Zelle deren Inhalt um dann je nach Eingabe die Farbe der Zelle zu ändern. Normalerweise wird nur ein Buchstabe eingegeben, es kann aber auch sein das mehr als ein Buchstabe in eine Zelle eingetragen wird. Wenn dies der Fall ist, möchte ich nur den ersten Buchstaben behalten und den Rest löschen.
Bisher hab ich das so gemacht:
Case "KK"
Target.Value = "K"
Gibt es da eine elegantere Lösung?
mfg Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt kürzen
07.12.2007 08:56:39
Werner
Hallo Thomas,
evtl. so?


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Range_1Zeich As Range, Cell_1Zeich As Range
    Set Range_1Zeich = Range("E1:AN50")
   Set Range_1Zeich = Intersect(Range_1Zeich, Range(Target.Address))
    If Range_1Zeich Is Nothing Then Exit Sub
    For Each Cell_1Zeich In Range_1Zeich
        With Range(Cell_1Zeich.Address, Cell_1Zeich.Offset(0, -1).Address)
           Cell_1Zeich.Value = Left(Cell_1Zeich.Value, 1)
        End With
    Next Cell_1Zeich
    Set Range_1Zeich = Nothing
End Sub


Gruß
Werner

Anzeige
AW: Zelleninhalt kürzen
07.12.2007 09:00:26
Werner
...
oder so mit Farbformatierung:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Range_1Zeich As Range, Cell_1Zeich As Range
    Set Range_1Zeich = Range("E1:AN50")
   Set Range_1Zeich = Intersect(Range_1Zeich, Range(Target.Address))
    If Range_1Zeich Is Nothing Then Exit Sub
    For Each Cell_1Zeich In Range_1Zeich
        With Range(Cell_1Zeich.Address, Cell_1Zeich.Offset(0, 0).Address)
           Cell_1Zeich.Value = Left(Cell_1Zeich.Value, 1)
              Select Case UCase(Cell_1Zeich.Value) ' UMWANDLUNG DER Eingabe in Großbuchstaben
                Case "DB"
                    .Interior.ColorIndex = 5
                    .Font.ColorIndex = 2
                Case "K"
                    .Interior.ColorIndex = 37
                    .Font.ColorIndex = 0
                Case "S"
                    .Interior.ColorIndex = 3
                    .Font.ColorIndex = 0
                Case "U"
                    .Interior.ColorIndex = 4
                    .Font.ColorIndex = 0
                Case "ZA"
                    .Interior.ColorIndex = 4
                    .Font.ColorIndex = 0
                Case Else
                    .Interior.ColorIndex = 2
                    .Font.ColorIndex = 0
              End Select
        End With
    Next Cell_1Zeich
    Set Range_1Zeich = Nothing
End Sub


Gruß
Werner

Anzeige
AW: Zelleninhalt kürzen
07.12.2007 09:02:13
Thomas
Hallo
Danke, war sehr ausführlich. Mir reichte aber schon der Befehl Left(value,1).
Klappt Super.
mfg Thomas

AW: Zelleninhalt - Länge beschränken
07.12.2007 09:02:38
Erich
Hallo Thomas,
eleganter ware m.E., längere Eingaben gar nicht erst zuzulassen,
sondern mittels Gültigkeitsprüfung zu vermeiden.
Wie, hängt von der genauen Anforderung ab. Meinst du mit
"möchte ich nur den ersten Buchstaben behalten"
wirklich den ersten Buchstaben oder das erste Zeichen,
auch wenn es eine Ziffer oder ein Sonderzeichen sein sollte?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Zelleninhalt - Länge beschränken
07.12.2007 09:06:42
Thomas
Hi
Es gibt die Möglichkeit der Eingabe von "U" (Feld wird blau) oder "UU" (Feld wird orange). Anschleißend soll die entsprechende Farbe verwendet werden, aber es soll trotzdem nur ein Buchstabe "U" drin stehen.
Klappt mit der Left-Anweisung einwandfrei.
Trotzdem Danke für dein Posting
mfg Thomas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige