Excel Hakkında Herşey

Çalışma Sayfası Olayları

Bu bölümde çalışma sayfası olayları hakkında çeşitli örnekler yapacağız.

Örnek: Aşağıdaki komut seçtiğimiz hücre içeriğini kırmızı yapar:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Cells.Font.Color = VBA.ColorConstants.vbBlack
    Target.Font.Color = VBA.ColorConstants.vbRed
End Sub

Not: Target değişkeninin Range (Aralık) olarak tanımlandığına dikkat edin. Kullanıcının seçtiği hücre veya aralık Target değişkenine aktarılır.

Örnek: Aşağıdaki komutla sadece A:D sütunları içinde bir değişiklik yaptığımızda, bu aralığa bağlı pivot tablo otomatik olarak yenilenir. Yapılan değişikliğin sadece A:D sütunları içinde olduğunu zaman geçerli olacağını belirtmek için Intersect fonksiyonu kullanılır:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("A:D")) Is Nothing Then
Worksheets("PivotRapor").PivotTables("PivotTablo").PivotCache.Refresh
        MsgBox "pivot tablo yenilendi"
    End If
End Sub

Ek Bilgi: Aşağıdaki komut seçili hücrelerin B2:D9 aralığı ile kesişen hücrelerin adresini verir. Eğer kesişim yoksa hata vermez:

Sub makro_kesisim()
    Dim kesisim As Range
    Set kesisim = Excel.Intersect(Selection, Range("B2:D9"))
    If kesisim Is Nothing Then
        Exit Sub
    Else
        Debug.Print kesisim.Address
    End If
End Sub

Örnek: Eğer sadece bir hücrede değişiklik meydana geldiğinde olay çalıştırmak için aşağıdaki komutu kullanmak yeterlidir:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$2" Then
    Range("C2").Value = "Lütfen Seçiniz..."
End If

End Sub

Paylaş:

Ara

Son eklenen

Hücre Rengine Göre Toplama Fonksiyonu

Bu bölümde hücre rengine göre toplama işlemi yapacağız. Aşağıdaki makro kodu, seçtiğimiz hücre rengi ile aralıktaki eşleşen hücrelerin değer...