Sayfa Alt Toplamlarını Almak

1 2 3 4
12/05/2020, 23:17

m_demir

Merhaba Arkadaşlar

Eklediğim uygulamada UserForm1 den aktif sayfaya veri aktarıyorum. Eklediğim resimdeki gibi alt toplamları sayfada ve ListBox1 göstermek istiyorum.

Bu konuda yardımlarınıza ihtiyacım var.
12/05/2020, 23:27

feraz

(12/05/2020, 23:17)m_demir yazdı: Merhaba Arkadaşlar

Eklediğim uygulamada UserForm1 den aktif sayfaya veri aktarıyorum. Eklediğim resimdeki gibi alt toplamları sayfada ve ListBox1 göstermek istiyorum.

Bu konuda yardımlarınıza ihtiyacım var.
Tam olarak adım adım analtırmısınız.Resimde yok.
12/05/2020, 23:32

m_demir

Hocam resim eklemeyi unutmuşum. Kusura bakmayın.


12/05/2020, 23:35

feraz

Bir fonksiyon yazayım hem kaydet hem silme hemde güncellemede eklesim alttoplamları.
12/05/2020, 23:38

m_demir

Olur Hocam.
13/05/2020, 00:16

feraz

Kod altta.
Private Sub UserForm_Initialize() buraya


If LCase(ActiveSheet.Name) = "sayfa1" Or LCase(ActiveSheet.Name) = "liste" Or LCase(ActiveSheet.Name) = "şablon" Then
    ListBox1.Clear
    Exit Sub
End If
If WorksheetFunction.CountA(Range("A7:A" & Rows.Count)) = 0 Then GoTo var
alttoplamAl
var:


yukarıdakileri ekledim.
ListBox1.RowSource = "A7:K" & [A65536].End(3).Row + 1
yerinede
ListBox1.RowSource = "A7:K" & [D65536].End(3).Row + 1
olarak değiştirdim.


Sub alttoplamAl()
   
    With ActiveSheet
        .Unprotect 4455
        son = .Range("A" & Rows.Count).End(3).Row + 1
        .Range("A" & son & ":K" & Rows.Count).ClearContents
        .Range("D" & son + 1) = "TOPLAMLAR"
        son = .Range("D" & Rows.Count).End(3).Row
        .Range("E" & son) = WorksheetFunction.Sum(.Range("E7:E65536"))
        .Range("F" & son) = WorksheetFunction.Sum(.Range("F7:F65536"))
        .Range("J" & son) = WorksheetFunction.Sum(.Range("J7:J65536"))
        .Range("K" & son) = WorksheetFunction.Sum(.Range("K7:K65536"))
        .Range("D7:K" & Rows.Count).Interior.ColorIndex = xlNone
        .Range("D" & son & ":K" & son).Interior.ColorIndex = 4
        .Range("D" & son).HorizontalAlignment = xlRight
        .Range("D7:K" & Rows.Count).Font.Bold = False
        .Range("D" & son & ":K" & son).Font.Bold = True
        .Protect 4455
    End With
 
End Sub
1 2 3 4