Re: Nachfrage
11.06.2003 14:02:16
WernerB.
Hallo Bernd!im Klassenmodul von "DieseArbeitsmappe":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call BlinkenEnde
End Sub
In einem Standardmodul:
Public Const giIntervall As Integer = 1
Public Const gsMacro As String = "Blinken"
Public gdNextTime As Double
Sub BlinkenEin()
gdNextTime = Now + TimeSerial(0, 0, giIntervall)
Application.OnTime earliesttime:=gdNextTime, _
procedure:=gsMacro, schedule:=True
End Sub
Private Sub Blinken()
With ActiveCell
If .Interior.ColorIndex = 6 Then
.Interior.ColorIndex = 9
.Font.ColorIndex = 6
Else
.Interior.ColorIndex = 6
.Font.ColorIndex = 9
End If
End With
Call BlinkenEin
End Sub
Sub BlinkenEnde()
On Error Resume Next
Application.OnTime earliesttime:=gdNextTime, _
procedure:=gsMacro, schedule:=False
End Sub
Im Klassenmodul des betreffenden Arbeitsblattes (z.B. "Tabelle1"):
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address <> "$D$10" Then Exit Sub
If Target.Value > 5 Then
Call BlinkenEin
Else
Call BlinkenEnde
End If
End Sub
Das muss natürlich noch auf Deine Wünsche angepasst werden.
Hier reagiert das Konstrukt auf den Wert in der Zelle "D10" (größer 5 = Blinken).
MfG
WernerB.