TOP

VBA-Ders 11.2. Çalışma Sayfası Etkinlikleri (Worksheet Etkinlikleri)

Önceki dersimizde kitabın tamamıyla ilgili olayları ele almıştık. Şimdi tek bir sayfayla ilgili olaylara odaklanacağız.


Worksheet_SelectionChange (Çalışma kitabını açma)

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

Worksheet_Activate (Sayfa etkinleştirme olayı)

Bu olay, bir çalışma sayfası etkinleştirildiğinde meydana gelir:

Private Sub Worksheet_Activate()

End Sub

Worksheet_Deactivate (Sayfayı Devre Dışı Bırakma Etkinliği)

Bu olay, başka bir çalışma sayfası etkinleştirildiğinde meydana gelir:

Private Sub Worksheet_Deactivate()

End Sub

Worksheet_BeforeDoubleClick (Hücredeki çift tıklama olayı)

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

Worksheet_BeforeRightClick (Sağ tıklamadan önceki etkinlik)

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

Worksheet_Calculate (Çalışma Sayfası Hesaplama Etkinliği)

Bu olay, çalışma sayfasındaki veriler her hesaplandığında veya yeniden hesaplandığında meydana gelir:

Private Sub Worksheet_Calculate()

End Sub

Worksheet_Change (Hücre İçeriği Değiştirme Etkinliği)

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

Worksheet_FollowHyperlink (Bağlantı tıklama etkinliği)

Bu olay, bir bağlantıya (köprü metni) tıklandığında meydana gelir:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

End Sub

Tüm etkinlikleri geçici olarak devre dışı bırakın

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