Microsoft Excel

Herbers Excel/VBA-Archiv

Bedingte Formatierung per VBA mit Schleife


Betrifft: Bedingte Formatierung per VBA mit Schleife von: Dirk
Geschrieben am: 25.09.2019 15:09:59

Hallo Zusammen,
ich arbeite derzeit an eine Urlaubsliste (Excel 2010) und möchte per VBA eine bedingte Formatierung realisieren die 1 Halbjahr, als ca. 180 Einträge auf einen Schlag formatiert :
Dies für eine Spalte :

Sub Makro2()
'
' Makro2 Makro
'

'
    Range("H2:H21").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$H$2=""So"""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

Ich würde nun gerne eine Schleife hinzufügen, welche diese Formatierung um eine Spalte verschiebt (addiert) und dann anwendet, bis 180 Spalten (von Spalte H bis Spalte GG) abgearbeitet sind.

Für eure Hilfe im Vorfeld schon mal herzlichen Dank....

  

Betrifft: AW: Bedingte Formatierung per VBA mit Schleife von: Klaus
Geschrieben am: 25.09.2019 15:54:35

Sub Makro2()
'
' Makro2 Makro
'
For i=1 to 180
Range(Cells(2,7+i),Cells(21,7+i).Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$H$2=""So"""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False

next i
End Sub



  

Betrifft: AW: Bedingte Formatierung per VBA mit Schleife von: Klaus
Geschrieben am: 25.09.2019 15:55:41

Die Klammer geschlossen fehlt noch bei der Selection..


  

Betrifft: AW: Bedingte Formatierung per VBA mit Schleife von: Steve
Geschrieben am: 25.09.2019 16:05:58

Sub Makro2()
'
' Makro2 Makro
'
For i=1 to 180
With Range(Cells(2,7+i),Cells(21,7+i)
    .FormatConditions.Add Type:=xlExpression, Formula1:="=$H$2=""So""" .FormatConditions(. _
FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
.FormatConditions(1).StopIfTrue = False
End with
next i
End Sub
Versuchs mal so is kürzer der makrorekorder nimmt viel Mist mit auf


  

Betrifft: AW: Bedingte Formatierung per VBA mit Schleife von: Dirk
Geschrieben am: 25.09.2019 17:17:02

Vielen Dank an Klaus und auch an Steve,

Das Skript von Klaus hat auf Anhieb funktioniert.
Bei Steves Vorschlag fing der Editor hier an zu meckern :
.FormatConditions.Add Type:=xlExpression, Formula1:="=$H$2=""So""" .FormatConditions(. _
FormatConditions.Count).SetFirstPriority
(Fehler beim Kompilieren - Syntaxfehler)

Wie dem auch sei: Auf jeden Fall bedanke ich mich sehr schnelle und effektive Hilfe...Top


Beiträge aus dem Excel-Forum zum Thema "Bedingte Formatierung per VBA mit Schleife"