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

Funktion Benutzerdef. Zellfarbe

Funktion Benutzerdef. Zellfarbe
05.09.2021 17:11:46
Roland
Hallo liebe VBA Profis,
habe mal wieder ein Problem mit dem ich nicht weiterkomme. Wende mich damit an Euch weil ich etwas in Zeitdruck bin und diese Woche eigentlich Urlaub habe und dies nun von zu Hause aus schnell schreibe. Ich weiss ich könnte dies auch einfacher lösen aber wenn mir jemand bei der Sach helfen könnte wäre ich dankbar. Ich muss noch erwähnen dass ich in Israel arbeite und die angehängte Datei in hebräisch ist weil damit auchMitarbeiter arbeiten sollen, die dem englischen nicht so vertraut sind. Aber ich denke nicht dass ihr damit Probleme habt, da es ja um die funktion an sich geht und nicht um die Spaltenüberschriften.
Ich habe eine Auflistung unserer Sicherheitsausrüstung (Leitern, Sicherheitsgurte, Feuerlöscher.....) angelegt. Diese müssen je nachdem in unterschiedlichen intervallen intern bzw. extern überprüft werden.
Wenn die Zeit zur Überprüfung gekommen ist, dann werden bestimmte Zellen hellrot eingefärbt.
Wenn die Zeit überschritten wurde dann rot.
Bitte erst mal nur das sheet 1 beachten ("1 סולמות"), das sind die Leitern (habe deshalb die anderen Sheets ausgeblendet).
In Spalte "F" ist das Datum der letzten Überprüfung.
In Spalte "I" ist das Datum der nächstfälligen Überprüfung.
Diese müssen einmal im Monat vom Sicherheitsexperten überprüft werden. Ab sieben Tage vor der Frist werden die wichtigen Zellen per bedingter formatierung hellrot eingefärbt. Wenn die Frist abgelaufen ist dann rot.
In Spalte "J" frage ich dann ab ob die Frist abgelaufen ist, also rote Zellfarbe. Hierzu habe ich eine Funktion geschrieben welche die Hintergrundfarbe abfragtund dann in der Zelle ausgibt "OK" oder "NOT OK"
Nun zu dem Problem.......
Die Funktion funktioniert nicht 100%-ig. Wenn ich die Seite wechsle oder die Datei neu öffne, dann kann es sein dass "OK" anstelle von "NOT OK" in der Zelle steht. Wenn ich dann in die Zelle reingehe und per "Enter" wieder raus, dann funktioniert dies.
Wer kann mir helfen dieses Problem zu lösen ?
Ach ja......die Datei ist noch nicht fertig. Möchte auf Sheet 6 noch eine Zusammenfassung anlegen die uns auf einen Blick zeigt wieviele Probleme anliegen. Dort kommen dann auch die hellroten Zellen zur Beachtung. Habe hierzu bereits die zweite Funktion begonnen aber noch nicht fertiggestellt. Wenn hierzu jemand zu viel lange weile hat und da auch mal reinschauen möchte hätte ich kein Problem damit :)
Dateiupload klappte nicht gleich da mehr als 300kB....musste daher fast alles löschen....hoffe es ist trotzdem ausreichend
hier der Link:
https://www.herber.de/bbs/user/147910.xlsm
Vielen Dank schon jetzt für Eure Hilfe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion Benutzerdef. Zellfarbe
05.09.2021 18:39:36
Peter
Hi Roland,
mein PC kommt mit deinem hebräischen Blatt nicht zurecht. Die Formeln werden nicht richtig dargestellt.
ABER: Erst kürzlich hatte jemand anderes hier ein ähnliches Problem - ich finde den Thread gerade nicht.
Erkenntnis: Wenn sich beim Start der Mappe das HEUTE() Excel-intern verändert hat, löst das kein Ereignis aus, dass zu Neuberechnungen und Updates von bedingten Formatierungen führt!
Die Lösung ist, in "Diese Arbeitsmappe" folgenden Code einzufügen:

Private Sub Workbook_Open()
'Vielleicht hilft:
Application.Calculate
'sicher aber:
Worksheets("Tabelle1").Range("A1") = Date
'und dann alle Vergleiche mit dieser Zelle anstellen, anstatt der Tabellenblattfunktion HEUTE()!
End Sub
Ob 'Application.Calculate' schon fuktioniert indem das alle Formeln und bedingte Formatierungen, die sich auf Felder mit HEUTE() beziehen updated wurde nicht geklärt. Um das zu testen muss man entweder Mitternacht abwarten oder am Datum des PCs rumfummeln, was an verschiedenen Stellen unangenehme Konsequenzen haben kann. Ich wollte das nicht tun.
Was sicher funktioniert ist, ganz auf die Funktion HEUTE() zu verzichten und anstatt dessen einer Zelle irgendwo (verdecktes Blatt z. B.) das heutige Datum beim Start der Excel-Mappe zuzuweisen: 'Worksheets("Tabelle1").Range("A1") = Date'. Alle mit Heute arbeitenden Formeln müssen sich dann auf diese Zelle beziehen anstatt die Funktion HEUTE() zu verwenden.
Das löst definitiv das Change-Ereignis aus. Alle davon abhängigen Felder der Mappe werden beim Start der Mappe neu berechnet/bedingt formatiert.
Klappt natürlich nicht, wenn man eine Nachteule ist, das Programm um 23:59 startet und in den nächsten Tag hinein arbeiten will :--) .
Dann sind alle Meldungen für "Gestern"...
Anzeige
Bei deinen Problemen ...
06.09.2021 01:13:08
Luc:-?
…werden wir dir wohl kaum helfen können, Roland!
Das alleinige automatische Umstellen der Schreibrichtung scheint nicht zu helfen, auf den BlattReitern wdn die Namen mit nachgestellter Ziffer angezeigt, mit vorangestellter in der Zelle/Formel. Auch VBA scheint das alles komplett zu ignorieren, so dass auch meine UDFs nicht fktionieren, obwohl sie zur Anzeige der realen ZellFarbe ähnlich wie deine UDF vorgehen (nur beide Komponenten getrennt). Falls deine UDF auf Blatt6 bei dir fktioniert, hast du dieses Problem nicht, falls nicht, dürfte es das gleiche wie bei uns sein.
Morhn, Luc :-?
Anzeige
AW: Funktion Benutzerdef. Zellfarbe
06.09.2021 13:35:34
Roland
Hallo und vielen Dank für die schnellen Antworten von Luc und Peter auch wenn mir das nicht weiterhilft.
Habe für Euch das Hebräische aus der Datei entfernt und lade sie nochmals hoch. Habe allerdings die englische Excel-Version
Ich denke ich muss erst mal herausfinden warum meine Funktion nur funktioniert wenn ich in die Zelle reingehe und per Enter wieder raus, also nur über F2 und Enter.
Application.calculate hilft nicht. Müsste ja auch funktionieren wenn ich auf automatischer Neuberechnung bin oder wenn ich die Neubrechnung manuell betätige (per calculate sheet oder calculate now).
Die Funktion für die Zusammenfassung ist wie gesagt noch nicht fertig (Spalte E und F in der Zusammenfassung)
Es geht mir zunächst erst einmal um die Spalte F im Sheet Leitern.
Hier der Link:
https://www.herber.de/bbs/user/147920.xlsm
Danke im Voraus für jede Hilfe
Anzeige
AW: Funktion Benutzerdef. Zellfarbe
06.09.2021 14:00:55
Daniel
Hi
ich würde in Formeln keine Formate abfragen, sondern nur Werte.
in der Formel in Spalte E kannst du ja als Abfrage auch die Bedingung aus der Bedingten Formatierung anwenden.
Gruß Daniel
AW: Funktion Benutzerdef. Zellfarbe
06.09.2021 14:01:46
Daniel
Hi
ich würde in Formeln keine Formate abfragen, sondern nur Werte.
in der Formel in Spalte E kannst du ja als Abfrage auch die Bedingung aus der Bedingten Formatierung anwenden.
Gruß Daniel
AW: Funktion Benutzerdef. Zellfarbe
07.09.2021 13:29:14
Roland
Vielen Dank nochmal an Euch.
Habe das Problem über das Worksheet-Change Ereignis gelöst indem ich anhand der Zeile in der das Ereignis ausgelöst wurde die vorhandene Formel der Spalte in dieser Zeile kopiert und wieder eingefügt habe. Somit wird die Funktion dieser Formel aufgerufen und die Berechnung in der Zelle neu ausgeführt.
Also nochmals vielen Dank und bis zum nächsten mal.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige