Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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

FormatConditions wirkungslos

FormatConditions wirkungslos
26.04.2017 09:05:54
Burkhard
Hallo miteinander,
das folgende Unterprogramm soll für einen variablen Bereich in der ersten Spalte die Hintergrundfarben für eine bedingte Formatierung setzen (gwPermSheet ist eine public worksheet Variable):

Sub setPermFormatConditions()
Dim iFirst As Integer, iLast As Integer
Dim sRange As String
Dim sCondition As String
On Error GoTo ErrorHandler
iFirst = FirstDataPermRow()
iLast = LastActivePermRow()
If Not iLast > iFirst Then Exit Sub
sRange = "$A$" & iFirst & ":$A$" & iLast
With gwPermSheet.Range(sRange)
.FormatConditions.Delete
sCondition = "=" & sRange & "=" & Chr(34) & "New" & Chr(34)
.FormatConditions.Add Type:=xlExpression, Formula1:=sCondition
.FormatConditions.Item(1).Interior.Color = vbYellow
sCondition = "=" & sRange & "=" & Chr(34) & "Change" & Chr(34)
.FormatConditions.Add Type:=xlExpression, Formula1:=sCondition
.FormatConditions.Item(2).Interior.Color = RGB(51, 204, 204)
sCondition = "=" & sRange & "=" & Chr(34) & "Delete" & Chr(34)
.FormatConditions.Add Type:=xlExpression, Formula1:=sCondition
.FormatConditions.Item(3).Interior.Color = RGB(204, 153, 255)
sCondition = "=" & sRange & "=" & Chr(34) & "corrected" & Chr(34)
.FormatConditions.Add Type:=xlExpression, Formula1:=sCondition
.FormatConditions.Item(4).Interior.Color = vbGreen
End With
GoTo CleanUp
ErrorHandler:
DisplayErrorMessage "setPermFormatConditions", Err
Err.Clear
CleanUp:
End Sub
Leider hat dieser Code keine Auswirkung auf das Tabellenblatt. Wenn ich in dem betreffenden Bereich z.B. "New" eingebe, bleibt der Hintergrund weiß.
Ich hab's übrigens auch mit nur drei FormatConditions probiert, das Ergebnis ist dasselbe.
Wo liegt der Fehler?
Grüße
Burkhard

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FormatConditions wirkungslos
26.04.2017 09:23:34
Oberschlumpf
Hi Burkhard,
zeig doch mal bitte per Upload eine Bsp-Datei.
Ciao
Thorsten
AW: FormatConditions wirkungslos
26.04.2017 09:43:19
Burkhard
Hallo Thorsten,
die komplette .xlsm hochzuladen geht leider nicht wirklich, da würde ich mich zu Tode anonymisieren. Hilft es, wenn ich das entsprechende Tabellenblatt exportiere und als .xls hochlade?
Grüße
Burkhard
AW: FormatConditions wirkungslos
26.04.2017 11:10:12
Oberschlumpf
Hi Burkhard
ich bat um eine Bsp-Datei.
Da hätte es auch gereicht, du erstellst eine neue Datei, fügst relevante Bsp-Daten so ein, dass man das Problem nachvollziehen kann.
Aber Christian hat ja auch eine Idee, die du erst mal prüfen kannst. Auf die Antwort bin auch ich neugierig.
Und wenns immer noch nicht klappt, dann halt bitte ne Bsp-Datei nach eben beschriebenem Muster.
Ciao
Thorsten
Anzeige
AW: FormatConditions wirkungslos
26.04.2017 09:38:30
Christian
Hallo,
schau dir mal deine Formel an.
Du schreibst zum Beispiel:
=$A$1:$A$20="New"
statt =$A1="New"
Dämmert's?
Gruß
Christian
AW: FormatConditions wirkungslos
26.04.2017 11:49:35
Burkhard
Hallo Christian, hallo Thorsten,
warum einfach, wenn's kompliziert auch geht ;-)
Der folgende Code braucht gar keine Formel (Christians Hinweis war die "Initialzündung"):
Sub setPermFormatConditions()
Dim iFirst As Integer, iLast As Integer
Dim sRange As String
On Error GoTo ErrorHandler
iFirst = FirstDataPermRow()
iLast = LastActivePermRow()
If Not iLast > iFirst Then Exit Sub
sRange = "A" & iFirst & ":A" & iLast
With gwPermSheet.Range(sRange).FormatConditions
.Delete
.Add xlCellValue, xlEqual, "New"
.Item(1).Interior.Color = vbYellow
.Add xlCellValue, xlEqual, "Change"
.Item(2).Interior.Color = RGB(51, 204, 204)
.Add xlCellValue, xlEqual, "Delete"
.Item(3).Interior.Color = RGB(204, 153, 255)
.Add xlCellValue, xlEqual, "corrected"
.Item(4).Interior.Color = vbGreen
End With
GoTo CleanUp
ErrorHandler:
DisplayErrorMessage "setPermFormatConditions", Err
Err.Clear
CleanUp:
End Sub
Das funktioniert übrigens auch mit vier Bedingungen, so wie hier. In vielen Beschreibungen ist zu lesen, dass nur drei akzeptiert bzw. verarbeitet werden.
--> Problem gelöst, wieder was gelernt, vielen Dank!
Grüße
Burkhard
Anzeige
AW: FormatConditions wirkungslos
26.04.2017 12:46:21
ChrisL
Hi Burkhard
Die Restriktion mit den 3 bedingten Formatierungen wurde m.W. ab Excel-Version 2007 aufgehoben. Hingegen besteht kein Unterschied, wie die Bedingungen formuliert werden.
In Zusammenhang mit VBA und bedingten Formatierungen ist evtl. folgender Artikel noch lesenswert.
https://support.microsoft.com/de-ch/help/895562/the-conditional-formatting-may-be-set-incorrectly-when-you-use-vba-in-excel
cu
Chris
hier, noch was zum Lernen...
26.04.2017 12:47:15
Oberschlumpf
Hi Burkhard
Die Einschränkung auf nur 3 bedingte Formatierungen bezieht sich auf Excel bis zur Version 2003.
Aber ab Excel 2007 kannst du so viele bed. Format. einsetzen, wie du möchtest.
Ciao
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige