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..
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
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
 
Katılım
15 Eylül 2005
Mesajlar
54
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..
 
Üst