Skip to main content

AccessTr.neT


Etopla İşlemleri

Etopla İşlemleri

#7
(01/06/2021, 17:46)m_demir yazdı: Çok, çok teşekkürler Hocam ellerinize sağlık.

Hocam konuyu taşıyabilirsiniz. Saygılar.
Rica ederim,kolay gelsin.
Cevapla
#8
Yinede yazmış olayım alttaki gibi yaparsanız D ve I sütunlarında değişiklik olunca çalışır örnek olarak.
Application.EnableEvents bunlarıda kodda pasip yaptım onların başındaki tek tırnakları kaldırmayın.


Kod:
If Intersect(Target, Union(Range("D3:D" & Rows.Count), Range("i3:i" & Rows.Count))) Is Nothing Then Exit Sub
Cevapla
#9
Hocam eklediğiniz konu hangi kodun altına eklemem gerekiyor.

Hocam birde söyle bir sorun var.

Daha önce girilmiş bir veride değişiklik yaptığımız zaman ETOPLA kısmında değişiklik olmuyor.

Örneğin Gelir Kısmında çek olarak girilmiş bir satırda D hücresindeki rakamı L sutunünde çek hücresinde gösteriyor. A sutünündeki çeki Nakit olarak değiştirdiğimiz zaman L sutünündaki rakam yine çekin karşısındaki hücrede kalıyor. Aslında çekten silinip Nakitin karşındaki hücrede görünmesi lazım. Yani A ve F hücresinde değişiklik yaptığımız zaman L ve M hücrelerinde güncelleme olmuyor.
Cevapla
#10
(01/06/2021, 18:13)m_demir yazdı: eklediğiniz konu hangi kodun altına eklemem gerekiyor
If Intersect(Target, Union(Range("A3Lol" & Rows.Count), Range("F3:i" & Rows.Count))) Is Nothing Then Exit Sub bunu silip onu elemelisiniz sadece.Yada değiştirebilirsiniz ordaki harfleri.
Cevapla
#11
(01/06/2021, 18:13)m_demir yazdı: Daha önce girilmiş bir veride değişiklik yaptığımız zaman ETOPLA kısmında değişiklik olmuyor.

Normalde bende çalışıyor gifteki gibi.Kodu alttaki gibi kullanıız.

[Resim: do.php?img=11082]
https://resim.accesstr.net/do.php?img=11082

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    Const satr As Byte = 16 'K sütunundaki verilerin son satir numarasi arananinkilerin
    Dim sonDoluSatrEtopla As Long
   
    sonDoluSatrEtopla = Cells.Find("*", , , , , xlPrevious).Row + 1

    If Intersect(Target, Union(Range("A3Lol" & Rows.Count), Range("F3:i" & Rows.Count))) Is Nothing Then Exit Sub
      ActiveSheet.Unprotect "123321"
    Range("L3:N" & Rows.Count).ClearContents

    On Error GoTo son

    With Range("L3:L1" & satr + 2)
        .Formula = "=SUMIF($A$3:$A$" & sonDoluSatrEtopla & ",K3,$D$3:$D$" & sonDoluSatrEtopla & ")"
        .Value = .Value
    End With

    With Range("M3:M" & satr + 2)
        .Formula = "=SUMIF($F$3:$F$" & sonDoluSatrEtopla & ",K3,$I$3:$I$" & sonDoluSatrEtopla & ")"
        .Value = .Value
    End With 'Etopla sonu

    ReDim arr(1 To satr, 1 To 1)
    For i = 1 To satr
        arr(i, 1) = Cells(i + 2, "L").Value - Cells(i + 2, "M").Value
    Next
    Range("N3:N" & satr + 2).Value = arr
   
    Range("L20").Value = WorksheetFunction.Sum(Range("D3Lol" & sonDoluSatrEtopla))
    Range("L21").Value = WorksheetFunction.Sum(Range("I3:I" & sonDoluSatrEtopla))
    Range("L22").Value = Range("L20").Value - Range("L21").Value
   
    Erase arr
    ActiveSheet.Protect "123321"
    Exit Sub
son:
    MsgBox "hata", vbCritical
End Sub
Cevapla
#12
Çok, çok teşekkürler Hocam ellerinize sağlık tam istediğim gibi olmuş.

Hocam konuyu taşıyabilirsiniz. Saygılarımla iyi çalışmalar.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task