Soru E topla makrosu nasil yapilir

Katılım
31 Mart 2024
Mesajlar
29
Excel Vers. ve Dili
365
e topla makrosu nasil yapilir surekli e topla formulunu yanlışlıkla siliyorum hucre korumaya alıyorum bu kezde veri doğrulama sorun cikariyor sorum şu j 13, j 60 arasi sütununa girdiğim verileri alt alta toplayacak sonucu D9 a toplama sonucunu yazacak devamında ise çıkartma işlemim var =(D6-D7) sonucunu D 8 e yazacak
=(D8-D9) sonucunu ise D 10 yazacak bir makroya ihtiyacım emeği geçenlere şimdiden teşekkurler
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba,
Etopla formülünün yapısı =Etopla(aralık;ölçüt;toplam_aralağı)
Açıklamanızda sadece toplanacak sütundan bahsetmişiniz ancak diğer kriterlerde gerekli.
Bu nedenle dosyanızın örneğini paylaşır mısınız?
 
Katılım
31 Mart 2024
Mesajlar
29
Excel Vers. ve Dili
365
Merhaba,
Etopla formülünün yapısı =Etopla(aralık;ölçüt;toplam_aralağı)
Açıklamanızda sadece toplanacak sütundan bahsetmişiniz ancak diğer kriterlerde gerekli.
Bu nedenle dosyanızın örneğini paylaşır mısınız?
Merhaba,
Etopla formülünün yapısı =Etopla(aralık;ölçüt;toplam_aralağı)
Açıklamanızda sadece toplanacak sütundan bahsetmişiniz ancak diğer kriterlerde gerekli.
Bu nedenle dosyanızın örneğini paylaşır mısınız?
Ornek atmayı beceremedim bende resimle anlatayım dedim anlaşılması umudu ile
Vallahi resim atmayida beceremedim linki buymuş yaş 50 olunca böyle oluyor işte

 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba,
İşlem yapacağını sekme ismi üzerinde sağ tuş kod görüntüleyi tıklayıp, açılan sayfaya aşağıdaki kodları yapıştırın.
250950
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub

If Target.Column = 10 And Target.Row > 12 Then
    If Range("D6") = "" Or Range("D7") = "" Then
        MsgBox "Tartım1 ve Tartım2 bilgilerini boş bırakmayınız!", vbInformation, ""
        Exit Sub
    End If

    son = Range("J" & Rows.Count).End(xlUp).Row
    If son = 12 Then
        Range("D9") = 0
        Exit Sub
    End If
    Range("D8") = Range("D6") - Range("D7")
    Range("D9") = WorksheetFunction.Sum(Range("J13:J" & son))
    Range("D10") = Range("D8") - Range("D9")
End If

End Sub
J13 den itibaren yazacağınız değerleri toplayıp D9 hücresine yazar.

Dosyanızda başka Worksheet_Change kodları varsa kodları başlık olmadan alınız ya da önceki mesajda paylaştığım site aracılığı ile dosyanızı paylaşabilirsiniz.
 
Katılım
31 Mart 2024
Mesajlar
29
Excel Vers. ve Dili
365
Merhaba,
İşlem yapacağını sekme ismi üzerinde sağ tuş kod görüntüleyi tıklayıp, açılan sayfaya aşağıdaki kodları yapıştırın.
Ekli dosyayı görüntüle 250950
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub

If Target.Column = 10 And Target.Row > 12 Then
    If Range("D6") = "" Or Range("D7") = "" Then
        MsgBox "Tartım1 ve Tartım2 bilgilerini boş bırakmayınız!", vbInformation, ""
        Exit Sub
    End If

    son = Range("J" & Rows.Count).End(xlUp).Row
    If son = 12 Then
        Range("D9") = 0
        Exit Sub
    End If
    Range("D8") = Range("D6") - Range("D7")
    Range("D9") = WorksheetFunction.Sum(Range("J13:J" & son))
    Range("D10") = Range("D8") - Range("D9")
End If

End Sub
J13 den itibaren yazacağınız değerleri toplayıp D9 hücresine yazar.

Dosyanızda başka Worksheet_Change kodları varsa kodları başlık olmadan alınız ya da önceki mesajda paylaştığım site aracılığı ile dosyanızı paylaşabilirsiniz.
Hocam mükemmel olmuş ufacık bi ricam var tartım bilgilerini girmeden yazmayınız diyor ya biz tartım bilgilerini sonradan alıyoruz onu nasıl düzeltebilirim emeğinize yüreğinize sağlık
 
Katılım
31 Mart 2024
Mesajlar
29
Excel Vers. ve Dili
365
Hocam mükemmel olmuş ufacık bi ricam var tartım bilgilerini girmeden yazmayınız diyor ya biz tartım bilgilerini sonradan alıyoruz onu nasıl düzeltebilirim emeğinize yüreğinize sağlık
Hocam tartım farkı net yazan yerden yani d8 sonuç vermiyor neden acaba
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba, kodu bu şekilde güncelleyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub
    If Target.Column = 10 And Target.Row > 12 Then
        son = Range("J" & Rows.Count).End(xlUp).Row
        If son = 12 Then
            Range("D9") = 0
            Exit Sub
        End If
        Range("D9") = WorksheetFunction.Sum(Range("J13:J" & son))        
    End If
    
    If Target.Column = 4 And Target.Row = 7 Then
        Range("D8") = Range("D6") - Range("D7")
        Range("D10") = Range("D8") - Range("D9")
    End If
End Sub
 
Katılım
31 Mart 2024
Mesajlar
29
Excel Vers. ve Dili
365
Tamam
Merhaba,
İşlem yapacağını sekme ismi üzerinde sağ tuş kod görüntüleyi tıklayıp, açılan sayfaya aşağıdaki kodları yapıştırın.
Ekli dosyayı görüntüle 250950
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub

If Target.Column = 10 And Target.Row > 12 Then
    If Range("D6") = "" Or Range("D7") = "" Then
        MsgBox "Tartım1 ve Tartım2 bilgilerini boş bırakmayınız!", vbInformation, ""
        Exit Sub
    End If

    son = Range("J" & Rows.Count).End(xlUp).Row
    If son = 12 Then
        Range("D9") = 0
        Exit Sub
    End If
    Range("D8") = Range("D6") - Range("D7")
    Range("D9") = WorksheetFunction.Sum(Range("J13:J" & son))
    Range("D10") = Range("D8") - Range("D9")
End If

End Sub
J13 den itibaren yazacağınız değerleri toplayıp D9 hücresine yazar.

Dosyanızda başka Worksheet_Change kodları varsa kodları başlık olmadan alınız ya da önceki mesajda paylaştığım site aracılığı ile dosyanızı paylaşabilirsiniz.
Tamam hocam 1 2 saniye sonra yazıyor eline sağlık cooook makbule geçti bir sürü yükten kurtuldum sayenizde teşekkürler
 
Katılım
31 Mart 2024
Mesajlar
29
Excel Vers. ve Dili
365
Hocam kusura bakmayın formulde bir hata var galiba d8-d9 sonucunu d 10 a vermiyor biraz kurcaladim range d8 altına exit sub yazinca veriyor ama bu kezde toplama işlemini yapmıyor nasil düzeltebilirim bilirim acaba
 
Üst