(01/06/2021, 17:46)m_demir yazdı: Çok, çok teşekkürler Hocam ellerinize sağlık.Rica ederim,kolay gelsin.
Hocam konuyu taşıyabilirsiniz. Saygılar.
Etopla İşlemleri
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.
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
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.
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.
(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.
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("A3" & 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("D3" & 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
Ç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.
Hocam konuyu taşıyabilirsiniz. Saygılarımla iyi çalışmalar.
Konuyu Okuyanlar: 5 Ziyaretçi