Bir formülde, koşulun gerçekleşmesi halinde bir "ikaz metni" yazılıyor hücreye. Bu ikazın kullanıcının gözünden kaçmaması için yazının yanıp sönerek flash yapmasını istiyorum. Excel'de böyle bir imkan var mı ?
Tevfik bey, indirmiş olduğum dosyadaki makroları kendi tabloma ekleyip gerekli revizyonları yaptım ve istemiş olduğum sayfadaki (Maliyetler), istemiş olduğum hücrede (F7) bir ikaz tekstti yanıp sönmeye başladı. Bu sayfada istemiş olduğum şey oldu.
Yalnız şöyle bir sıkıntı oluştu;
Excel dosyamda yan yana 20'ye yakın sayfa var ve tüm sayfaların F7 hücresinde aynı "yanıp sönme" olayı gerçekleşiyor. Oysaki sadece "Maliyetler" sayfasının F7 hücresinde yanıp sönmesi gerekiyor.
Aşağıya makroda yapmış olduğum değişiklikleri yapıştıracağım. Neyi yanlış yapıyorum ya da kodlara ne gibi bir müdahalede bulunmalıyım ki yanıp sönme işlemi sadece "Maliyetler" sayfasının F7 hücresiyle sınırlı kalsın ?
Module 1 (Code) altındaki kodlar :
Option Explicit
Public dur As Boolean
Sub auto_open()
Sheets("Maliyetler").Select
If Range("F7").Value = "İlave İşçilik" Then Call basla
'If Range("F7").Value > 0.05 Then Call basla
End Sub
Sub auto_close()
dur = True
End Sub
Sub basla()
If dur = True Then Exit Sub
If Format(Now, "ss") Mod 2 = 0 Then
Range("F7").Interior.Color = vbRed
Range("F7").Font.Color = vbYellow
Range("F7").Font.Bold = True
Else
Range("F7").Interior.Color = vbYellow
'Range("F7").Interior.ColorIndex = xlNone
Range("F7").Font.Color = vbRed
Range("F7").Font.Bold = False
End If
Call saat
End Sub
Sub saat()
Application.OnTime Now + TimeValue("00:00:01"), "basla"
End Sub
Sayfa 1 (Code) altındaki kodlar :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F7]) Is Nothing Then Exit Sub
If Range("F7").Value < 100 Then
Module1.dur = False
Call basla
Else
Module1.dur = True
Range("F7").Interior.ColorIndex = xlNone
Range("F7").Font.Color = vbBlack
Range("F7").Font.Bold = False
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Private Sub CommandButton1_Click()
UserForm1.Label1.ForeColor = &H80000012
For i = 1 To 10
If UserForm1.Label1.ForeColor = &H80000012 Then
UserForm1.Label1.ForeColor = &H8000000D
MsgBox "mavi"
Else
UserForm1.Label1.ForeColor = &H80000012
MsgBox "siyah"
End If
For a = 1 To 10000000
Next
Next
End Sub
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.