Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Blinkende Zelle





Frage

Hallo, ich weiß, dass die Frage nach blinkenden Zellen schon sehr oft gestellt wurde, aber leider habe ich noch keine Lösung für mein Problem gefunden. Ich habe zwar schon zahlreiche Foren durchstöbert und auch schon einige Lösungsansätze ausprobiert, aber leider ohne Erfolg. Nun zu meinem Problem: Ich muß in einer Tabelle den Verlauf von Aktionen verfolgen. Dazu habe ich in dieser Tabelle (neben zahlreichen anderen Daten) die Spalte [i]F[/i] in der das Datum steht, zu dem die Aktion abgeschlossen sein muß. In der Spalte [i]G[/i] steht dann entweder "[i]in Arbeit[/i]" oder "[i]abgeschlossen[/i]". Wenn nun eine Aktion den Status "[i]in Arbeit[/i]" hat und das daneben stehende Datum in der Vergangenheit liegt, dann soll die Zelle mit dem Datum blinken. Zur Zeit habe ich 108 Aktionen zu verfolgen, aber es kommen laufen neue dazu - also die Liste wird kontinuierlich länger. Ich hoffe, es hat jemand eine Lösung für mich. Dank im voraus Salesman

Antwort 1 von nostalgiker6

Würde es nicht reichen, wenn die Zeile (oder sogar nur das Datum und/oder das Status-Feld) ROT markiert wird?
Das geht ganz einfach mit der bedingten Formatierung.

Antwort 2 von fürLau

Hallo Salesman,

Kopiere nachstehenden Code in ein Modul und starte das Makro mit Extras | Makro | Makros.. | ausführen. Dies ist auch noch detailierter unter www.excelbeispiele.de Anleitungen Nr.3 nachzulesen.

Option Explicit
Dim zeit As Date

Function Salesman_check_cell(ByVal ber As Range, HartzIV As String)
If ber.Value < Now() Then
If ber.Offset(0, 1).Value = HartzIV Then
Salesman_check_cell = 1
Else
Salesman_check_cell = 0
End If
End If
End Function

Sub Salesman_blinken()
Dim i%, zellen As Range, maxzeile As Long
maxzeile = ActiveSheet.Range("F65536").End(xlUp).Row
For i = 2 To maxzeile
Set zellen = ActiveSheet.Cells(i, 6)
If Salesman_check_cell(zellen, "In Arbeit") = 1 Then
If zellen.Interior.ColorIndex = xlColorIndexNone Then
zellen.Interior.ColorIndex = 19
Else
zellen.Interior.ColorIndex = xlColorIndexNone
End If
End If
If Salesman_check_cell(zellen, "In Arbeit") = 0 Then
zellen.Interior.ColorIndex = xlColorIndexNone
End If
Set zellen = Nothing
Next
zeit = Now + TimeValue("00:00:01")
Rem neuen Termin setzen
Application.OnTime zeit, "Salesman_blinken"
End Sub

Sub Ende_Salesman_blinken()
Range("F:F").Interior.ColorIndex = xlColorIndexNone
On Error Resume Next
Application.OnTime EarliestTime:=zeit, Procedure:="Salesman_blinken", Schedule:=False
End Sub

Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.

Antwort 3 von Salesman

Hallo fürLau,

danke für die rasche Hilfe - funktioniert einwandfrei ;-))
Anfangs tat sich nach dem Makrostart nichts, aber dann habe ich gesehen, dass "in Arbeit" in der Tabelle mit einem kleinen "i" geschrieben wird und im Makro mit einem großen "I". Das habe ich geändert und ab dem Zeitpunkt lief das Makro tadellos.

Nochmals vielen Dank

Hallo nostalgiker6,
ich hatte die Zellen bereits rot markiert, aber es werden in dieser Tabelle auch noch andere Zellen farbig markiert. Da fallen blinkende Zellen besser auf.
Aber danke für deine Anregung.

Gruß

Salesman

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: