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

VBA Bedingte Formatierung greift erst nach manueller Änderun

VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 16:46:39
Nookshar
Hallo,

mittels Makro weise ich zu bestimmten Zellen eine bedingte Formatierung zu. Jedoch zeigt Excel das Format erst an, wenn ich in der jeweiligen Zelle manuell etwas änder und nicht in Abhängigkeit vom tatsächlichen Inhalt.

In Spalte J steht ein Datum, in Spalte K steht ob der Auftrag erledigt wurde, oder noch offen ist. Die Daten für Spalte J und K werden aus einem anderen Datenblatt gezogen (hier fiktiv aus Spalte A und B). Wenn Datum älter als Heute ist und der Auftrag noch offen ist, soll das Datum rot angezeigt werden.

Nach dem das Makro durchgelaufen ist, zeigt Excel zwar für die Zelle an, dass eine bedingte Formatierung vorliegt, aber die Zelle ist nicht formatiert. Wenn ich dann aber in die Zelle reingehe (F2) und Enter drücke wird sofort das richtige Format angezeigt. Ich hab im Makro schon Calculate und RefreshAll verwendet, aber es funktioniert nicht

Wo liegt mein Fehler?



for i = 1 to 10
StrFormel = "=UND($J & i & HEUTE();$K & i & =offen)" 'siehe Bemerkung unten
Set rng = Range("J" & i)
with rng
.FormatConditions.Delete
.NumberFormat = "dd.mm.yyyy"
.FormatConditions.Add Type:=xlExpression, Formula1:=strFormel
.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
end with
Range("J" & i).Value = Range("A" & i).Value 'Datum
Range("K"& i).Value = Range("B" & i).Value 'offen oder erledigt
next


Die Formel wird leider nicht richtig angezeigt.
# = "
kleiner =
StrFormel = #=UND($J# & i & # kleiner HEUTE();$K# & i & #=##offen##)#
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 16:51:06
onur
" StrFormel = "=UND($J & i & HEUTE();$K & i & =offen)""
"offen" muss in Gänsefüsschen stehen und WO ist das "Kleinerzeichen" ?
Aber wozu überhaupt VBA? Wenn man es richtig macht, sollte EINE einzige Bedform ohne VBA reichen.
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 16:57:44
onur
Das dumme an den bedingten Formatierungen ist: Es wird JEDE Formel akzeptiert, egal wie falsch oder blödsinnig sie ist und es kommt keinerlei Meldung, dass die Formel fehlerhaft ist. Es wird halt einfach nicht formatiert.
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 18:25:10
Nookshar
Die Formel funktioniert! Nach dem durchlaufen des Makros ist Zelle weiß. Markiere ich die Zelle, drücke F2 und dann Enter dann ist die Zelle gem. Formel formatiert!
Anzeige
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 18:31:29
onur
Dein Code baut für jede Zelle je eine bedingte Formatierung. Das bremst das ganze Sytem aus (bei 100 Zeilen).
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 17:47:18
Nookshar
Die Formel wird nicht richtig angezeigt. Hab versucht es unten darzustellen. Die Gänsefüßchen sind drin, auch das kleiner Zeichen.
Mit VBA deshalb weil alle Zeilen dynamisch erstellt und angezeigt werden. Die Datei hat mal nur 10 Einträge, mal 1000. Es sollen alle Zeilen leer sein, wo keine Einträge drin sind. Ich möchte nicht J1:J10000 markieren und bedingt formatieren.

Zudem versuche ich zu verstehen wo mein Fehler liegt. Wie gesagt nach Durchlauf des Makros ist die Zelle nicht formatiert. Wenn ich reinklicke und das Selbe Datum von Hand eintrage funktioniert das Format, welches ich per VBA vorgegeben habe
Anzeige
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 17:55:15
onur
"Ich möchte nicht J1:J10000 markieren und bedingt formatieren. " Warum nicht?
Stattdessen willst du im Extremfall 10.000 einzelne bedingte Formatierungen ???
Poste mal die Datei, dann schaue ich mir alles an.
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 18:52:01
Nookshar
Ich lade die Datei Montag hoch.
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 19:17:01
onur
Guckst du hier:
https://www.herber.de/bbs/user/167101.xlsm
Dieses Makro trägt für alle besetzten Zeilen in J eine EINZIGE bedingte Formatierung ein (statt für jede Zelle Eine).

Was sollen eigentlich DIESE Zeilen?
   Range("J" & i).Value = Range("A" & i).Value 'Datum

Range("K"& i).Value = Range("B" & i).Value 'offen oder erledigt


Anzeige
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
16.02.2024 19:39:29
Nookshar
Ich schau mir die Datei Montag an. Danke schön schonmal.

Mit dieser Zeile werden die Daten kopiert wo sie hin sollen. es war nur schnell hingeschrieben um zu verdeutlichen das die Daten kopiert werden. Das tatsächliche Skript ist wesentlich umfangreicher, ich hab es hier auf das wesentliche Problem eingegrenzt. Ich dachte, das es ggf. unterschiede mit dem übertragen der Werte in Verbindung mit der bed. Formatierung gibt. Ich teste es es auch noch mit Copy und anderen Methoden des kopierens.
AW: VBA Bedingte Formatierung greift erst nach manueller Änderun
19.02.2024 10:36:16
Nookshar
Guten Morgen,

ich habe das Problem lösen können. Alle Formeln sind richtig, aber in der Zelle aus der ich meine Daten beziehe war die problematische Zelle falsch formatiert! Trotzdem vielen Dank für sie Hilfe
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige