Önceki dersimizde kitabın tamamıyla ilgili olayları ele almıştık. Şimdi tek bir sayfayla ilgili olaylara odaklanacağız.
Tek bir çalışma sayfasına ilişkin olaya dayalı talimatları yürütmek için düzenleyicide çalışma sayfasını seçin ve ardından Worksheet:
SelectionChange olayı varsayılan olarak eklenecektir. Bu olay, aralığın içeriği değiştiğinde tetiklenir:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub
Örneğin, aşağıdaki kod, seçilen bir veya daha fazla hücreye dolgu renkleri ekler ve bu aralık değiştiğinde, önceden seçilen aralıktaki dolgu rengini otomatik olarak kaldırır:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static previous_selection As String If previous_selection <> "" Then 'Önceki seçimden arka plan rengini kaldırma: Range(previous_selection).Interior.ColorIndex = xlColorIndexNone End If 'Geçerli seçime arka plan rengi ekleniyor: Target.Interior.Color = RGB(181, 244, 0) 'Geçerli seçimin adresini kaydetme: previous_selection = Target.Address End Sub
Bu olay, bir çalışma sayfası etkinleştirildiğinde meydana gelir:
Private Sub Worksheet_Activate() End Sub
Bu olay, başka bir çalışma sayfası etkinleştirildiğinde meydana gelir:
Private Sub Worksheet_Deactivate() End Sub
Bu olay, bir çalışma sayfası hücresine çift tıklandığında meydana gelir:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub
Bu olay, çalışma sayfasına sağ fare tıklamasından önce gerçekleşir:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) End Sub
Bu olay, çalışma sayfasındaki veriler her hesaplandığında veya yeniden hesaplandığında meydana gelir:
Private Sub Worksheet_Calculate() End Sub
Bu olay, belirli bir sayfadaki hücrelerin içeriği değiştiğinde meydana gelir:
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
Bu olay, bir bağlantıya (köprü metni) tıklandığında meydana gelir:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) End Sub
Kodu herhangi bir olay olmadan çalıştırmak için kodu iki satır arasına şunun gibi ekleyin:
Application.EnableEvents = False '=> olayları devre dışı bırak 'Bazı talimatlar... Application.EnableEvents = True '=> etkinlikleri yeniden etkinleştir