Bedingte Formatierung per Makro beeinflussen, aber nicht außer Kraft setzen möglich?!
#1
Hallo zusammen,

bevor ich mich hier verhaspele, beschreibe ich einfach mal ganz plump, was ich will.

Ich hätte gern, daß ein bestimmtes Feld (Bsp. Zelle A1) per bedingter Formatierung in einem bestimmten Zeitrahmen farblich markiert wird (bspw. zwischen 14 und 16 Uhr). Es soll jedoch die Möglichkeit geben, dieses Feld auch innerhalb dieser vorgegebenen Zeitspanne mittels eines Makros wieder zu "resetten", also die Markierung raus zu nehmen. Nachtrag: das Feld soll am nächsten Tag um die gleiche Zeit dann wieder "leuchten" Smile

Nun bin ich leider nicht so fit in der Programmierung von Makros und frage mich, ob so etwas überhaupt geht, denn ich hebe mit einem Befehl per Makro ja nicht die Bedingungen für die bestimmte Formatierung auf?!

Kann man das trotzdem irgendwie bewerkstelligen? Oder gibt es eine ganz andere Lösung als die Kombination von bed. Formatierung und Makro?!

Stehe da ein wenig auf dem Schlauch Undecided
Bin dankbar für jeden Rat.
Viele Grüße und ein schönes Wochenende
Klaus
Ich arbeite mit Menschen zusammen, die Excel nicht so strukturiert und themenzentriert nutzen, wie es hier meistenteils der Fall ist. Excel wird gern auch mal nur zur einfachen Darstellung und Veranschaulichung (teilweise als regelrechter Experimentierkasten oder als "Was-passiert-dann?-Maschine") genutzt und weniger zur "echten Berechnung im professionellem Einsatz". Demzufolge sind meine Fragen auch meistens nicht so logisch und strukturiert aufgebaut wie hier im Forum größtenteils üblich und erscheinen - was ihren Inhalt angeht - manchmal recht naiv. Um so mehr ist Eure Hilfe immer willkommen, vielen Dank für Eure Unterstützung Smile
Antworten Top
#2
Hallo,

natürlich kann man die bed. Formatierung per VBA löschen (.FormatConditions.Delete) ABER:
1. wie soll das Löschen ausgelöst werden
2. warum muss es eine bed. Formatierung sein?

Wenn du verräts. was das Ziel des Ganzen ist, kann man sich auch Gedanken über evtl. Alternativen machen.
Grüße
Antworten Top
#3
Zunächst sorry, ich hatte kurz nach meinem Posting noch den Satz hinterlegt, daß die Felder auch am nächsten Tag (wieder) genutzt werden sollen!

Und NEIN, es muß keine bedingte Formatierung sein, bis hierhin reicht lediglich mein Excel-Können...

Es handelt sich gewissermaßen um eine Checkliste, die zur Erledigung bestimmte Punkte enthalten - und nach einer gewissen Zeit dann durch farbig hinterlegte Felder etwas eindringlicher an die Erledigung erinnern soll...

Besagte Felder zur Erinnerung sollen innerhalb eines bestimmten Zeitraums farbig werden und dann bei Erledigung durch Betätigung der entsprechenden Schaltfläche wieder farbneutral sein (bis sie dann am nächsten Tag erneut farbig werden, bis der Button gedrückt wird).

Ich hoffe, das kam halbwegs verständlich rüber?   19

Viele Grüße
Klaus
Ich arbeite mit Menschen zusammen, die Excel nicht so strukturiert und themenzentriert nutzen, wie es hier meistenteils der Fall ist. Excel wird gern auch mal nur zur einfachen Darstellung und Veranschaulichung (teilweise als regelrechter Experimentierkasten oder als "Was-passiert-dann?-Maschine") genutzt und weniger zur "echten Berechnung im professionellem Einsatz". Demzufolge sind meine Fragen auch meistens nicht so logisch und strukturiert aufgebaut wie hier im Forum größtenteils üblich und erscheinen - was ihren Inhalt angeht - manchmal recht naiv. Um so mehr ist Eure Hilfe immer willkommen, vielen Dank für Eure Unterstützung Smile
Antworten Top
#4
Hallöchen,

Zitat:Besagte Felder zur Erinnerung sollen innerhalb eines bestimmten Zeitraums farbig werden und dann bei Erledigung durch Betätigung der entsprechenden Schaltfläche wieder farbneutral sein

Du kannst auch mehrere Bedingungen mit logischen Operatoren oder Rechenoperatoren verknüpfen.
So kannst DU z.B. auswerten, ob eine Zelle leer ist und die Zeit gewiss ist Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Das hört sich schon mal super an 19
Wenn ich das nur könnte 22
Da bin ich leider zu sehr Laie.

Mir ist noch ein einfacher Weg eingefallen, aber dazu benötige ich trotzdem Hilfe.
Wenn ich ein Feld (bspw. A1) durch eine bedingte Formatierung innerhalb eines Zeitraums farbig markiere und durch ein JA (in Feld B1) quasi übersteuere, benötige ich noch eine Formel / einen Befehl, der mir das JA aus B1 bspw. um Mitternacht wieder löscht.

Dann wäre die Liste für den nächsten Tag wieder jungfräulich.
Könnte mir jemand so eine Formel bzw. eine bedingte Formatierung nennen?

LG
Klaus
Ich arbeite mit Menschen zusammen, die Excel nicht so strukturiert und themenzentriert nutzen, wie es hier meistenteils der Fall ist. Excel wird gern auch mal nur zur einfachen Darstellung und Veranschaulichung (teilweise als regelrechter Experimentierkasten oder als "Was-passiert-dann?-Maschine") genutzt und weniger zur "echten Berechnung im professionellem Einsatz". Demzufolge sind meine Fragen auch meistens nicht so logisch und strukturiert aufgebaut wie hier im Forum größtenteils üblich und erscheinen - was ihren Inhalt angeht - manchmal recht naiv. Um so mehr ist Eure Hilfe immer willkommen, vielen Dank für Eure Unterstützung Smile
Antworten Top
#6
Hallo Klaus,

ein Zelleintrag wird nicht durch die bedingte Formatierung gelöscht. Der könnte, durch was auch immer, auch nur dann um Mitternacht gelöscht werden, wenn Dein Excel nebst der Datei um Mitternacht offen ist oder automatisch geöffnet wird.

Du kannst aber durch Prüfung auf ein Datum per Formel ein Ja oder Nein in die Zelle setzen.

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
127. AugNein
228. Augja
329. AugNein

ZelleFormel
B1=WENN(A1=HEUTE();"ja";"Nein")
B2=WENN(A2=HEUTE();"ja";"Nein")
B3=WENN(A3=HEUTE();"ja";"Nein")
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg

Das wird aber nur beim Berechnen aktualisiert. Wenn Du die Datei heute aufmachst und eine Woche offen und in Ruhe lässt hast Du nächsten Monat immer noch das Ja beim heutigen Datum.

Schaue mal diesen Thread an:

Makro-blinkende-Inhalt-bzw-Element

und dann schauen wir weiter Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hmmm, könnte man das denn formeltechnisch hinbiegen, wenn eine Zelle sagen wir nicht um Mitternacht, sondern um 17.00 Uhr gelöscht werden soll?
Das wäre eine Zeit, in der die Checkliste IMMER schon abgearbeitet sein muß (nach Feierabend quasi) und in der Excel aber unter Garantie noch läuft Sleepy


Es gibt ein Makro irgendwo im Hintergrund (Tabelle wurde nicht durch mich erstellt), welches die Tabelle ohnehin alle 2 Minuten aktualisiert und an einer Stelle in der Tabelle ist die aktuelle Uhrzeit dann schon als Dezimalzahl dargestellt.

Ließe sich auf dieser Basis mittels einer Formel ein Wert/Zellinhalt um 17 Uhr löschen?

VG
Klaus
Ich arbeite mit Menschen zusammen, die Excel nicht so strukturiert und themenzentriert nutzen, wie es hier meistenteils der Fall ist. Excel wird gern auch mal nur zur einfachen Darstellung und Veranschaulichung (teilweise als regelrechter Experimentierkasten oder als "Was-passiert-dann?-Maschine") genutzt und weniger zur "echten Berechnung im professionellem Einsatz". Demzufolge sind meine Fragen auch meistens nicht so logisch und strukturiert aufgebaut wie hier im Forum größtenteils üblich und erscheinen - was ihren Inhalt angeht - manchmal recht naiv. Um so mehr ist Eure Hilfe immer willkommen, vielen Dank für Eure Unterstützung Smile
Antworten Top
#8
Hallöchen,

dann wäre es gut, die Datei oder zumindest das / die Makros mal zu posten damit man so was vorhandenes nutzen kann.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Ich habe hier mal einen anderen Ansatz für Dich:

Du gibst im Bereich DieseArbeitsmappe folgendes ein:

Code:
Option Explicit

Public StartZeit As Date
Public StoppZeit As Date

Private Sub Workbook_Open()
    StartZeit = TimeValue("14:00:00")
    StoppZeit = TimeValue("16:00:00")
    Application.OnTime earliesttime:=StartZeit, Procedure:="Einfaerben", schedule:=True
    Application.OnTime earliesttime:=StoppZeit, Procedure:="Zuruecksetzen", schedule:=True
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.OnTime earliesttime:=StartZeit, Procedure:="Einfaerben", schedule:=False
    Application.OnTime earliesttime:=StartZeit, Procedure:="Zuruecksetzen", schedule:=False
End Sub

Außerdem legst Du ein Modul für Makros an mit folgendem Inhalt:

Code:
Option Explicit

Sub Einfaerben()
    ThisWorkbook.Sheets("Tabelle1").Range("MeinBereich").Interior.Color = 255
End Sub

Sub Zuruecksetzen()
    ThisWorkbook.Sheets("Tabelle1").Range("MeinBereich").Interior.Pattern = xlNone
End Sub

Sub manuelleKorrektur()
    Selection.Interior.Pattern = xlNone
End Sub


Erklärung:
mit Application.onTime setzt man einen Timer. Dadurch wird zur gewünschten Zeit ein beliebiges Makro ausgeführt.
Wenn man die Vorgabe wiederholt mit dem Zusatz
Code:
schedule:=False

wiederholt, wird der Timer wieder gelöscht. (hier für den Fall, dass die Datei vorzeitig geschlossen wird.)

Außerdem habe ich noch das Makro "manuelleKorrektur" das dem Zweck dient, die Farbmarkierung in dem vom Nutzer markierten Bereich zu löschen. Den Bereich, der gefärbt werden soll, musst Du natürlich noch anpassen. In meinem Beispiel gibt es einen benannten Bereich "MeinBereich", der vom Makro gefärbt bzw. enfärbt wird.

Ich hoffe, das hilft Dir etwas weiter.
ExcelBiene.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste