Kursorun bulundugu hücreye kadar sütun degerlerini toplamak

Katılım
13 Mayıs 2007
Mesajlar
32
Excel Vers. ve Dili
excell 2003
turkce
merhaba....

kursörün bulunduğu hücreye kadar, sütundaki hücreleri toplamak için bir makro yazmaya çalışıyorum.


mesela kursör makroyu çalıştırdığımda H14 de bulunuyor,
H14 hücresine [ H1-H13 ] hücrelerinde yeralan sayıların toplamını yazmasını istiyorum.

bir sonraki sayfada C5 hücresine tıklıyorum.
makroyu çalıştırıyorum.
C5 hücresine [ C1-C4 ] toplamlarını yazsın istiyorum...

nasıl yapabilirim ?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,299
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bir deneme yaptım bende çalıştı, sizde denerer misiniz?
Aşağıdaki kodları ThisWorkbook'un kod bölümüne kopyalayınız. Her sayfada çift tıkladığınızda çalışacaktır.

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim sonuç As Double
For i = 2 To Target.Row - 1
    sonuç = sonuç + Cells(i, Target.Column)
Next i
Target.Value = sonuç
End Sub
 
Katılım
13 Mayıs 2007
Mesajlar
32
Excel Vers. ve Dili
excell 2003
turkce
Necdet bey, bu harika olmuş...
Hele çift tıklama olayı muhteşem...

çok teşekkürler....
elleriniz dert görmesin ...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,299
Excel Vers. ve Dili
Ofis 365 Türkçe
Mutlu Yıllar Sayın tetrax

Güle güle kullanınız

:)
 
Katılım
2 Aralık 2007
Mesajlar
66
Excel Vers. ve Dili
2003 Türkçe
Güzel çalışma. Ellerinize sağlık Necdet Bey...
 
Katılım
30 Temmuz 2004
Mesajlar
163
Selamlar
Bu kodun tüm çalışma sayfaları için geçerli olmasını nasıl sağlarız
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,299
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bu kod excel dosyasında tüm çalışma kitaplarında çalışmaktadır zaten.

Sanırım kod aşağıdaki şekilde olursa daha güzel olur. Yine WorkBook'un kod bölümene kopyalanması gerek.

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Evet = MsgBox("Toplamayı gerçekleştireyim mi?", vbYesNo)
If Evet = vbYes Then
    Target.Value = WorksheetFunction.Sum(Range(Cells(1, Target.Column), Cells(Target.Row - 1, Target.Column)))
End If
End Sub
 
Son düzenleme:
Üst