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:

  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
  2.   
  3. 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:

  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
  2.      Static previous_selection As String  
  3.   
  4.      If previous_selection <> "" Then  
  5.          'Önceki seçimden arka plan rengini kaldırma:  
  6.          Range(previous_selection).Interior.ColorIndex = xlColorIndexNone  
  7.      End If  
  8.   
  9.      'Geçerli seçime arka plan rengi ekleniyor:  
  10.      Target.Interior.Color = RGB(181, 244, 0)  
  11.   
  12.      'Geçerli seçimin adresini kaydetme:  
  13.      previous_selection = Target.Address  
  14. End Sub  

Worksheet_Activate (Sayfa etkinleştirme olayı)

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

  1. Private Sub Worksheet_Activate()  
  2.   
  3. End Sub  

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

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

  1. Private Sub Worksheet_Deactivate()  
  2.   
  3. End Sub  

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

Bu olay, bir çalışma sayfası hücresine çift tıklandığında meydana gelir:

  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  
  2.   
  3. End Sub  

Worksheet_BeforeRightClick (Sağ tıklamadan önceki etkinlik)

Bu olay, çalışma sayfasına sağ fare tıklamasından önce gerçekleşir:

  1. Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)  
  2.   
  3. 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:

  1. Private Sub Worksheet_Calculate()  
  2.   
  3. 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:

  1. Private Sub Worksheet_Change(ByVal Target As Range)  
  2.   
  3. End Sub  

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

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

  1. Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)  
  2.   
  3. 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:

  1. Application.EnableEvents = False '=> olayları devre dışı bırak  
  2. 'Bazı talimatlar...  
  3. Application.EnableEvents = True '=> etkinlikleri yeniden etkinleştir