Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1488to1492
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
Inhaltsverzeichnis

Bererich für bed. Formatierung, ModifyAppliesTo

Bererich für bed. Formatierung, ModifyAppliesTo
05.05.2016 10:58:48
Arthur

Hallo Excelianer.
Mal kurz eben Excel angeschmissen und ein paar Zeilen Code eingefügt ... dachte ich ...
Aber der Reihe nach: Mein Wunsch ist recht einfach. Eine Zelle hat bedingte Formatierungen. Nun möchte ich den Anwendungsbereich per VBA verändern. Als Beispiel von A2 auf A2:A3. Dies sollte mit '.ModifyAppliesToRange' funktionieren. Leider stürzt Excel im zweiten Schleidendurchlauf ab.
Nun seid ihr mit an Bord: Was läuft falsch?
Der Debugger zeigt, wenn angehalten, dass nach der ersten Schleife beide Conditions gleich sind. In der Zelle sind aber noch beide vorhanden. Merkwürdig.
Hier ist die kleine Beispieldatei:
https://www.herber.de/bbs/user/105401.xlsm
Und der einfache Code nochmals:

Sub CondFormat()
Dim FCond As FormatCondition
' sauber machen ...
ThisWorkbook.Worksheets("Tabelle1").Range("B3").FormatConditions.Delete
' Anwendungsbereich der bedingten Formatierung erweitern
' !! beim zweiten Durchlauf stürzt Excel ab :(
For Each FCond In ThisWorkbook.Worksheets("Tabelle1").Range("B2").FormatConditions
FCond.ModifyAppliesToRange Range("B2:B3")
Next
End Sub
Vielen Dank schon mal für eure Hilfe.
Gruß, Arthur.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich für bed. Formatierung erweitern
05.05.2016 11:44:48
Beverly
Hi Arthur,
so sollte es funktionieren:
Sub CondFormat()
Dim lngZaehler As Long
With ThisWorkbook.Worksheets("Tabelle1")
' sauber machen ...
.Range("B3").FormatConditions.Delete
' Anwendungsbereich der bedingten Formatierung erweitern
For lngZaehler = 1 To .Range("B2").FormatConditions.Count
.Range("B2").FormatConditions(lngZaehler).ModifyAppliesToRange Range("B2:B3")
Next
End With
End Sub


AW: Bereich für bed. Formatierung erweitern
05.05.2016 12:21:23
Arthur
Hallo Karin.
Vielen Dank. So funktioniert's.
Über das 'warum nicht anders' denke ich noch nach. Pointer, die sich unbemerkt verschieben? Naja, das Leben braucht seine Rätsel - Excel ebenfalls :).
Nochmals vielen Dank und einen sonnigen Resttag.
Gruß, Arthur.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige