title image


Smiley Re: bedingte Formatierung mit mehr als drei Bedingungen
Hallo Thomas



mit folgendem Code in VBA in die Tabelle kannst Du max 56 Farben einsetzen.





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 Code eingefügt mit Syntaxhighlighter 1.16




 http://hajo-excel.de/fragen_wie_1.htm

Betriebssystem: Windows 10, Office 2016 32 bit. Bitte Version angeben. Bei keiner Angabe wird von meiner  ausgegangen.Mails nur nach Aufforderung.



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: