Kasa Defteri Hatalı Satır Silme

  • Konuyu başlatan Konuyu başlatan mcexrem
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
17 Nis 2021
Mesajlar
388
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar,

Çalışma Dosyamın KASA DEFTERİ sayfası içerisindeki verileri sildikten sonra D ve E sütunlarına veri girişi yaptığımda F sütununa sonucu yanlış vermektedir. Örneğin Eklediğim resimde F6 hücresinin 3.005,00 vermesi gerekirken 7.195,00 vermektedir. Yardımcı olabilir misiniz?


1640096975103.webp
 

Ekli dosyalar

Çözüm
KASA sayfasının kod bölümündeki Worksheet_Change kodunu aşağıdakiyle değiştirin.
D4 hücresindeyken 1 kez F2+ENTER işlemi yapmanız yeterli olur.

VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim son As Long
If Not Intersect(Target, Range("B4:E9999")) Is Nothing Then
    Cells(Target.Row, "F") = IIf(Target.Row > 4, Cells(Target.Row - 1, "F"), 0) + Cells(Target.Row, "D") - Cells(Target.Row, "E")
    If Cells(Target.Row, 7) = "" Then Cells(Target.Row, "G") = Date
    son = [B:F].Find("*", , , , xlByRows, xlPrevious).Row
    ActiveWorkbook.Names.Add Name:="Kson", RefersTo:=son
    If Target.Row <> son Then
        Application.Calculation = xlCalculationManual
        Application.ScreenUpdating = False
        For sat = Target.Row -...
KASA sayfasının kod bölümündeki Worksheet_Change kodunu aşağıdakiyle değiştirin.
D4 hücresindeyken 1 kez F2+ENTER işlemi yapmanız yeterli olur.

VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim son As Long
If Not Intersect(Target, Range("B4:E9999")) Is Nothing Then
    Cells(Target.Row, "F") = IIf(Target.Row > 4, Cells(Target.Row - 1, "F"), 0) + Cells(Target.Row, "D") - Cells(Target.Row, "E")
    If Cells(Target.Row, 7) = "" Then Cells(Target.Row, "G") = Date
    son = [B:F].Find("*", , , , xlByRows, xlPrevious).Row
    ActiveWorkbook.Names.Add Name:="Kson", RefersTo:=son
    If Target.Row <> son Then
        Application.Calculation = xlCalculationManual
        Application.ScreenUpdating = False
        For sat = Target.Row - 1 To son
            Cells(sat, "F") = IIf(sat > 4, Cells(sat - 1, "F"), 0) + Cells(sat, "D") - Cells(sat, "E")
        Next
        Application.ScreenUpdating = True
        Application.Calculation = xlCalculationAutomatic
    End If
End If
End Sub
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt