Tabloda Hesaplama

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Ek'li dosyada mevcut tabloda,

belirli hücrelere, tablonun ;

en büyük sayısı,
en küçük sayısı,
ortalaması,
toplamı,
satırlardaki veri sayısı gibi verileri,

formül kullanmadan,

aşağı açılır kutu ile veya ofis 2010'un yerleşik özellikleri ile almak istiyorum.

Teşekkür ederim.
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
İlgili sayfanın kod kısmına ekleyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [b13,c13]) Is Nothing Then Exit Sub
    If Target.Address = "$B$13" Then Set Alan = Range("b3:b12")
    If Target.Address = "$C$13" Then Set Alan = Range("c3:c12")
    If Target.Text = "Ortalama" Then Target = WorksheetFunction.Average(Alan)
    If Target.Text = "Toplam" Then Target = WorksheetFunction.Sum(Alan)
    If Target.Text = "En Büyük" Then Target = WorksheetFunction.Max(Alan)
    If Target.Text = "En Küçük" Then Target = WorksheetFunction.Min(Alan)
    If Target.Text = "Satır Sayısı" Then Target = WorksheetFunction.CountA(Alan)
End Sub
 

Ekli dosyalar

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
İlgili sayfanın kod kısmına ekleyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [b13,c13]) Is Nothing Then Exit Sub
    If Target.Address = "$B$13" Then Set Alan = Range("b3:b12")
    If Target.Address = "$C$13" Then Set Alan = Range("c3:c12")
    If Target.Text = "Ortalama" Then Target = WorksheetFunction.Average(Alan)
    If Target.Text = "Toplam" Then Target = WorksheetFunction.Sum(Alan)
    If Target.Text = "En Büyük" Then Target = WorksheetFunction.Max(Alan)
    If Target.Text = "En Küçük" Then Target = WorksheetFunction.Min(Alan)
    If Target.Text = "Satır Sayısı" Then Target = WorksheetFunction.CountA(Alan)
End Sub
Sayın Hamitcan Merhaba,

Öncelikle teşekkür etmek istiyorum,

Keyfe keder ama olabiliyor ise de memnun olurum ,

İlgili hücrede seçim yapıldığında ( örn; B13 ) ;

B13'e gelen verinin (seçilenin) ne olduğunun (Ortalama, en büyük vb) A13'e ve yine,

C13'e gelen verinin (seçilenin) ne olduğunun (Ortalama, satır sayısı vb) D13'e,

yazılması mümkün mü ? Amaç , hücrede yapılan seçimin ne olduğunu hatırlamak,

Tekrar teşekkür ederim.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Böyle deneyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [b13,c13]) Is Nothing Then Exit Sub
    If Target.Address = "$B$13" Then IslevAdi = Range("a13").Address: Set Alan = Range("b3:b12")
    If Target.Address = "$C$13" Then IslevAdi = Range("d13").Address: Set Alan = Range("c3:c12")
    If Target.Text = "Ortalama" Then Range(IslevAdi) = Target.Text: Target = WorksheetFunction.Average(Alan)
    If Target.Text = "Toplam" Then Range(IslevAdi) = Target.Text: Target = WorksheetFunction.Sum(Alan)
    If Target.Text = "En Büyük" Then Range(IslevAdi) = Target.Text: Target = WorksheetFunction.Max(Alan)
    If Target.Text = "En Küçük" Then Range(IslevAdi) = Target.Text: Target = WorksheetFunction.Min(Alan)
    If Target.Text = "Satır Sayısı" Then Range(IslevAdi) = Target.Text: Target = WorksheetFunction.CountA(Alan)
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın hamitcan tekrar merhaba,

Elinize sağlık, çok teşekkür ederim,

Saygılarımla.
 
Üst