timer ile yanıp sönen label

Katılım
15 Eylül 2005
Mesajlar
54
Arkadaşlar,
formumdaki iki adet label'ın belli bir değere bağımlı olarak belli sayıda mesela 3 kere yanıp sönmesini istiyorum.Yani;

if Range("b3")<>0 then (3 kere yan-sön) : (image1.visible=true)
else
image1.visible=false

olmasını istiyorum.. daha evvel forumdan bulduğum kodlarla yanıp sönmesini sağladım ama durduramadım. durduramayınca program bayağı kasıyor açıkçası..
bulduğum kodlar
Kod:
Dim RunWhen As Double
Const RunWhat = "CheckRng"

Sub StartTimer()
    RunWhen = Now + TimeSerial(0, 0, 1)
    Application.OnTime EarliestTime:=RunWhen, Procedure:=RunWhat, Schedule:=True
End Sub

Sub CheckRng()
    If UserForm1.Image1.Visible = True Then
    UserForm1.Image1.Visible = False
    UserForm1.Image2.Visible = False
    Else
    UserForm1.Image1.Visible = True
    UserForm1.Image2.Visible = True
    End If
    StartTimer
End Sub

Sub StopTimer()
    On Error Resume Next
    Application.OnTime EarliestTime:=RunWhen, Procedure:=RunWhat, Schedule:=False
    UserForm1.Image1.Visible = True
    UserForm1.Image2.Visible = True
    
    'UserForm1.Label1.BackColor = vbButtonFace
    'UserForm1.Label1.ForeColor = vbBlack
End Sub

yardımlarınız için tşk ederim..
 
Merhaba,
Userform activate'e;

Private Sub UserForm_Activate()
If Range("B3") <> 3 Then Call zaman
If Range("B3") = 3 Then Image1.Visible = False
End Sub

yazın.Daha sonrada bir module içine;

Sub yan()

If UserForm1.Image1.Visible = True Then
UserForm1.Image1.Visible = False
UserForm1.Image2.Visible = False
Else
UserForm1.Image1.Visible = True
UserForm1.Image2.Visible = True
End If
End Sub
Sub zaman()
Dim duraksama, başla, dur
For i = 1 To 4
duraksama = 1
başla = timer
Do While timer < başla + duraksama
DoEvents
Loop
dur = timer
Call yan

Next

End Sub
yazın.Kolay gelsin
 
Teşekkür ederim, çok güzel çalıştı.. biraz değiştirmek zorunda kaldım çünkü b3 sıfırdan farklıysa çalışmalıydı.. tekrar teşekkür ederim..
 
Geri
Üst