Καλημέρα
Οι πιο κάτω κώδικες δείχνουν τον τρόπο της βασικής λειτουργίας.
Προϋπόθεση:
Πληκτρολογούμε οτιδήποτε σε κάποιο κελί της A1:D10
ΑΜΕΣΩΣ μετά πληκτρολογούμε ή στο F1 ή οπουδήποτε εκτός από την A1:D10
Από την πληκτρολόγηση στην περιοχή A1:D10 μέχρι την πληκτρολόγηση στο κελί F1
πιθανόν να συμβαίνουν κι άλλα πράγματα στο φύλλο (πράγματα που εκτελεί πχ ο χρήστης
μέχρι να φτάσει να πληκτρολογήσει το F1)
και τα οποία θα πρέπει να ληφθούν υπ' όψιν.
Αυτό στο φύλλο στο συμβάν Change
Κώδικας:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("DataRange")) Is Nothing Then
StartBlinking
Else
If Not Intersect(Target, Range("BlinkCell")) Is Nothing Then
StopBlinking
Else
Exit Sub
End If
End If
End Sub
Αυτά σε module
Κώδικας:
Option Explicit
Public NextBlink As Double
Public Const BlinkCell As String = "Sheet1!f1"
Sub StartBlinking()
If Range(BlinkCell).Interior.Color = vbRed Then
Range(BlinkCell).Interior.Color = vbGreen
Else
Range(BlinkCell).Interior.Color = vbRed
End If
NextBlink = Now + TimeSerial(0, 0, 1)
Application.OnTime NextBlink, "StartBlinking", , True
End Sub
Sub StopBlinking()
Range(BlinkCell).Interior.Color = xlNone
Application.OnTime NextBlink, "StartBlinking", , False
End Sub
Όπου:
Public Const BlinkCell As String = "Sheet1!
f1" το κελί που θέλουμε να αναβοσβήνει
Range(BlinkCell) = BlinkCell το όνομα του κελιού
Range("DataRange") = DataRange το όνομα της περιοχής A1:D10