Alt satırda toplamları göstermek

Katılım
8 Mart 2007
Mesajlar
582
Excel Vers. ve Dili
excel 2000 Türkçe
Altın Üyelik Bitiş Tarihi
29-04-2021
Arkadaşlar dosyam büyük olduğu için yükleyemedim. Aşağıdaki kodlarla verileri giriyorum son satırda toplamları gösteriyor.
Satır veriyi silip veya verileri değiştirdiğim zaman alttaki toplamlar değişmiyor aynı kalıyor.

Kod:
Private Sub CommandButton1_Click()
'Application.ScreenUpdating = False 'Kodları hızlı çalışması için
ActiveSheet.Unprotect "6810"
If ComboBox2 = "" Then
MsgBox "...!!!.KAYIT BAŞARISIZ.!!!...LÜTFEN TARİHİ BOŞ GEÇMEYİNİZ. TARİHİ BOŞ GEÇERSENİZ VERİLERİNİZ KAYIT EDİLMİYECEK", vbInformation
Exit Sub: End If
On Error Resume Next
ActiveSheet.ShowAllData
If ActiveSheet.AutoFilterMode Then ActiveSheet.Range("A1").AutoFilter Field:=1
On Error Resume Next
Dim i As Integer, ts
For i = 6 To 32000
If (ActiveSheet.Cells(i, 1) = "") Then
ActiveSheet.Cells(i, 2) = CDate(ComboBox2)
ActiveSheet.Cells(i, 3) = ComboBox3.Text
ActiveSheet.Cells(i, 4) = TextBox3.Text * 1
ActiveSheet.Cells(i, 5) = TextBox4.Text * 1
ActiveSheet.Cells(i, 6) = TextBox5.Text * 1
ActiveSheet.Cells(i, 7) = TextBox10.Text * 1
ActiveSheet.Cells(i, 8) = TextBox11.Text * 1
ActiveSheet.Cells(i, 9) = TextBox13.Text * 1
ActiveSheet.Cells(i, 10) = TextBox6.Text * 1
ActiveSheet.Cells(i, 11) = TextBox7.Text * 1
ActiveSheet.Cells(i, 12) = ComboBox1.Text
ts = Range("B" & Rows.Count).End(xlUp).Row
Range("A6") = 1
Range("A6:A" & ts).DataSeries rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, step:=1, Trend:=False
MsgBox "KAYIT YAPILDI!...", vbOKOnly + vbInformation, "Bilgi Ekleme"
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & [A65536].End(3).Row
Range("A65535").End(xlUp).Offset(1, 0).Select
'Hızlı kaydet başı
Application.Calculation = xlManual
ActiveWorkbook.Save
Application.Calculation = xlAutomatic
ComboBox2.SetFocus 'Başlama yeri
'Hızlı kaydet sonu
'''''''''
'Son satırda toplamları gösterir başı
son = Cells(65536, "k").End(xlUp).Row + 1
Cells(son, "l") = WorksheetFunction.Sum(Range("l6:l65536"))
Cells(son, "k") = WorksheetFunction.Sum(Range("k6:k65536"))
Cells(son, "j") = WorksheetFunction.Sum(Range("j6:j65536"))
Cells(son, "ı") = WorksheetFunction.Sum(Range("ı6:ı65536"))
Cells(son, "h") = WorksheetFunction.Sum(Range("h6:h65536"))
Cells(son, "f") = WorksheetFunction.Sum(Range("f6:f65536"))
Cells(son, "b") = (Range("a1:a1"))
'Son satırda toplamları gösterir sonu
 
Dim TC As Control 'UserForm Temizle'
    For Each TC In Controls
        If TypeName(TC) = "TextBox" Or TypeName(TC) = "ComboBox" Then
            TC.Value = ""
        End If
    Next TC
   Set TC = Nothing
'UserForm Temizle'
ActiveSheet.Protect "6810"
CommandButton2_Click
TextBox8.Text = [P1]
TextBox16.Text = [Q1]
TextBox9.Text = [K4]
ComboBox2.Text = ""
TextBox15.Text = [M1]
UserForm_Initialize
ListBox1.ListIndex = [A65536].End(3).Row - 1 'LİSTBOX A SON BOŞ SATIR EKLER
ListBox1.ListIndex = ListBox1.ListCount - 1 'ListBoxın son satırına gider.'
Range("A65535").End(xlUp).Offset(1, 0).Select 'Son boş satıra gider

Exit Sub
End If
Next i
End Sub
Kod:
Private Sub CommandButton12_Click()
ActiveSheet.Unprotect "6810"
If ComboBox2.Text = "" Then
MsgBox " LÜTFEN DEĞİŞTİRİLECEK VERİNİN BUL İLE SIRA NUMARASINI GİRİNİZ!!!"
Exit Sub
End If
sifre = InputBox("!!!...DEĞİŞTİRMEK İSTEDİĞİNİZ SATIRI ÇİFT TIKLAYARAK YUKARIDAKİ GİRİŞ KUTUCUKLARINA GELMESİNİ SAĞLAYIN. YUKARIDAKİ KUTUCUKLAR BOŞ OLDUĞU ZAMAN SEÇTİĞİNİZ VERİLER SİLİNMİŞTİR UYARISINI ALSANIZ BİLE VERİLERİ SİLMEZ...!!!  !!!...YUKARIDAKİ GİRİŞ KUTUCUKLARI DOLU İSE ŞİFREYİ GİRİNİZ...!!!")
ActiveSheet.Protect "6810"
If sifre <> "1" Then MsgBox "YANLIŞ ŞİFRE GİRDİNİZ ! LÜTFEN KONTROL EDİN.": Exit Sub
ActiveSheet.Unprotect "6810"
If sifre = "" Then Exit Sub
MsgBox "KAYIT DEĞİŞTİRİLDİ!!!"
satır = ActiveCell.Row
ListBox1.RowSource = ""
On Error Resume Next
ActiveSheet.Unprotect "6810"
ActiveCell.Offset(0, 1).Value = CDate(ComboBox2.Value)
ActiveCell.Offset(0, 2).Value = ComboBox3.Value
ActiveCell.Offset(0, 3).Value = CDbl(TextBox3.Value)
ActiveCell.Offset(0, 4).Value = CDbl(TextBox4.Value)
ActiveCell.Offset(0, 5).Value = CDbl(TextBox5.Value)
ActiveCell.Offset(0, 6).Value = CDbl(TextBox10.Value)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox11.Value)
ActiveCell.Offset(0, 8).Value = CDbl(TextBox13.Value)
ActiveCell.Offset(0, 9).Value = CDbl(TextBox6.Value)
ActiveCell.Offset(0, 10).Value = CDbl(TextBox7.Value)
On Error GoTo 0
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & [A65536].End(3).Row
Range("A65535").End(xlUp).Offset(1, 0).Select
ComboBox2.SetFocus
ActiveSheet.Protect "6810"
CommandButton2_Click
TextBox8.Text = [L4]
TextBox9.Text = [L6]
ComboBox2.Text = ""
TextBox15.Text = [M1]
UserForm_Initialize
ListBox1.ListIndex = ListBox1.ListCount - 1 'ListBoxın son satırına gider.'
Range("A65535").End(xlUp).Offset(1, 0).Select 'Son boş satıra gider
End Sub
Kod:
Private Sub CommandButton15_Click()
ActiveSheet.Unprotect "6810"
If ComboBox2.Text = "" Then
MsgBox " LÜTFEN SİLİNECEK VERİNİN BUL İLE SIRA NUMARASINI GİRİNİZ!!!"
Exit Sub
End If
sifre = InputBox("!!!...SİLMEK İSTEDİĞİNİZ SATIRI ÇİFT TIKLAYARAK YUKARIDAKİ GİRİŞ KUTUCUKLARINA GELMESİNİ SAĞLAYIN. YUKARIDAKİ KUTUCUKLAR BOŞ OLDUĞU ZAMAN SEÇTİĞİNİZ VERİLER SİLİNMİŞTİR UYARISINI ALSANIZ BİLE VERİLERİ SİLMEZ...!!!  !!!...YUKARIDAKİ GİRİŞ KUTUCUKLARI DOLU İSE ŞİFREYİ GİRİNİZ...!!!")
ActiveSheet.Protect "6810"
If sifre <> "1" Then MsgBox "YANLIŞ ŞİFRE GİRDİNİZ ! LÜTFEN KONTROL EDİN.": Exit Sub
ActiveSheet.Unprotect "6810"
If sifre = "" Then Exit Sub
Dim Arr()
Application.ScreenUpdating = False
       For Each R In Selection.Rows
    If R.Row <= 5 Then
ActiveSheet.Protect "6810"
MsgBox "İlk beş satırı silemezsiniz..", vbExclamation, "UYARI"
ActiveSheet.Protect "6810"
Exit Sub
End If
        c = c + 1
     ReDim Preserve Arr(1 To c)
     Arr(c) = R.Row
     Next
    First = LBound(Arr)
    Last = UBound(Arr)
    For i = First To Last - 1
        For j = i + 1 To Last
            If Arr(i) < Arr(j) Then
                Temp = Arr(j)
                Arr(j) = Arr(i)
                Arr(i) = Temp
            End If
        Next j
    Next i
    For k = 1 To UBound(Arr)
        Rows(Arr(k)).Delete
    Next
  Application.ScreenUpdating = True
  MsgBox "!!!.SEÇTİĞİNİZ VERİLER SİLİNMİŞTİR.!!!"
ActiveSheet.Protect "6810"
Range("A65535").End(xlUp).Offset(1, 0).Select
ComboBox2.SetFocus
ActiveWorkbook.Save ' Kayıt yapar
CommandButton2_Click
TextBox8.Text = [L4]
TextBox9.Text = [L6]
ComboBox2.Text = ""
TextBox15.Text = [M1]
UserForm_Initialize
ListBox1.ListIndex = ListBox1.ListCount - 1 'ListBoxın son satırına gider.'
Range("A65535").End(xlUp).Offset(1, 0).Select 'Son boş satıra gider
End Sub
 
Üst