Bedingte Formatierung



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Bedingte Formatierung
von: Martin Wolanin
Geschrieben am: 17.05.2002 - 09:00:20

Ich möchte bei meiner Tabelle die Hintergrundfarbe bei Eingabe eines Buchstabens verändern. Da es mit der bedingten Formatierung nur 3 Möglichkeiten gibt ich aber 9 Möglichkeiten brauche möchte ich fragen ob es noch eine andere Möglichkeit gibt.
Die Formatierungen müssen nach dem löschen des Buchstabens wieder verschwinden.

Freundliche Grüsse


nach oben   nach unten

Re: Bedingte Formatierung
von: Rolf, Lgh.
Geschrieben am: 17.05.2002 - 09:27:34

Hallo Martin,
schau Dir das mal an: https://www.herber.de/forum/archiv/76to80/t76294.htm.
Gruss Rolf
nach oben   nach unten

Re: Bedingte Formatierung
von: Martin Wolanin
Geschrieben am: 17.05.2002 - 10:42:45

Hallo Rolf

Ich weis habe diesen Bericht auch schon gelesen aber das Problem ist die Formatierung bleibt wenn ich eine andere Zahl oder Buchstaben eingebe.


nach oben   nach unten

Re: Bedingte Formatierung
von: Rolf, Lgh.
Geschrieben am: 17.05.2002 - 10:54:33

Ergänze den Code um Case Else:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  If Target.Row < 11 And Target.Column = 1 Then
    Select Case Target.Value
    Case "A"
      Target.Interior.ColorIndex = 3
    Case "B"
      Target.Interior.ColorIndex = 5
    Case "C"
      Target.Interior.ColorIndex = 4
    Case "10"
      Target.Interior.ColorIndex = 6
    Case "20"
      Target.Interior.ColorIndex = 8
    Case Else
      Target.Interior.ColorIndex = xlNone
    End Select
  End If
End Sub

nach oben   nach unten

Re: Bedingte Formatierung
von: Rolf, Lgh.
Geschrieben am: 19.05.2002 - 18:16:31

Erweitere den Code um Case Else:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  If Target.Row < 11 And Target.Column = 1 Then
    Select Case Target.Value
    Case "A"
      Target.Interior.ColorIndex = 3
    Case "B"
      Target.Interior.ColorIndex = 5
    Case "C"
      Target.Interior.ColorIndex = 4
    Case "10"
      Target.Interior.ColorIndex = 6
    Case "20"
      Target.Interior.ColorIndex = 8
    Case Else
      Target.Interior.ColorIndex = xlNone
    End Select
  End If
End Sub


Gruss Rolf
nach oben   nach unten

Re: Bedingte Formatierung
von: Hajo
Geschrieben am: 19.05.2002 - 18:26:46

Hallo Martin

code entwickelt sich ja weiter. Der komplette Code falls mehr als eine Zelle ausgefüllt werden lautet.


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'   Schrift
    Dim Bereich As Range
    Dim Z
'   Bereich der Wirksamkeit
    Set Bereich = Range("B3:C20")
'   überprüfen ob mehr als eine Zelle markiert $A$1:$B$3
'   wurde mehere Zellen markiert ist wert größer 0
    If InStr(Target.Address, ":") = 0 Then
        If Intersect(Target, Bereich) Is Nothing Then Exit Sub  ' Abbruch, wenn Aktion nicht im Zielbereich
'       Kreuz entfernen
        Target.Borders(xlDiagonalDown).LineStyle = xlNone
        Target.Borders(xlDiagonalUp).LineStyle = xlNone
'       Schriftfarbe setzen
        Select Case Target.Value
            Case "1"
'               mal eine andere Variante Kreuz in Zelle
                With Target.Borders(xlDiagonalDown)
                    .LineStyle = xlContinuous
                    .Weight = xlThick
                End With
                With Target.Borders(xlDiagonalUp)
                    .LineStyle = xlContinuous
                    .Weight = xlThick
                End With
                Target.Font.ColorIndex = 0
            Case "2"
                Target.Font.ColorIndex = 2
                ' weiß
            Case "3"
                Target.Font.ColorIndex = 3
                ' rot
'           usw.
            Case Else
                Target.Font.ColorIndex = 0
        End Select
    Else
'       es wurden mehere Zellen markiert
        For Each Z In Selection
'           überprüfen ob Zelle im vorgegebenen Bereich
            If Intersect(Z, Bereich) Is Nothing Then
            Else
'               Kreuz entfernen
                Z.Borders(xlDiagonalDown).LineStyle = xlNone
                Z.Borders(xlDiagonalUp).LineStyle = xlNone
                Select Case Z.Value
'                   Select case Anweisung wie oben
                    Case "1"
                        With Z
                            With .Borders(xlDiagonalDown)
                                .LineStyle = xlContinuous
                                .Weight = xlThick
                            End With
                            With .Borders(xlDiagonalUp)
                                .LineStyle = xlContinuous
                                .Weight = xlThick
                            End With
                        End With
                        Z.Font.ColorIndex = 0
                    Case "2"
                        Z.Font.ColorIndex = 2
                        ' weiß
                    Case "3"
                        Z.Font.ColorIndex = 3
                        ' rot
'                   usw.
                    Case Else
                        Z.Font.ColorIndex = 0
                End Select
            End If
        Next Z
    End If
End Sub

Gruß Hajo

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Bedingte Formatierung"