• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sütundaki sayıları topla yaz

Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Merhaba arkadaşlar, Dosyamda E sütununda E2 başlayan alt alta sayılarım var, örneğin;
2,00
3,12
4,15
4,78

E sütununda olan bu sayıları bittiği yerden bir altına toplam almak istiyorum, Nasıl bir makro yazılır. Burada her seferinde sayılar farklı olabilir, yani bu 4 satırlı bir diğerinde 6 satırlı veya 10 satırlı olabilir. Teşekkürler
 
Merhaba,

Aşağıdaki kodları kendinize uyarlayınız.

Kod:
Sub topla()

    Dim SonSat  As Long
    
    SonSat = Cells(Rows.Count, "E").End(3).Row
    Range("E" & SonSat + 1) = Application.WorksheetFunction.Sum(Range("E2:E" & SonSat))
    
End Sub
 
Merhabalar; Elimdeki dosyada P2 den başlayan ve Z sütununda devam eden verilerim var, (P2:Z) Bu verileri B sütunundaki en son verinin iki altına B,C, E,G ve L sütunlarına tekrar yazmak istiyorum. Aşağıdaki kodu kullandım olmadı acaba nerede hata var, cevap verirseniz sevinirim. Teşekkürler.

son = Cells(Rows.Count, "B").End(xlUp).Row

Cells(son + 2, "B").Value = Cells("P2:P").Value
Cells(son + 2, "C").Value = Cells("Q2:Q").Value
Cells(son + 2, "E").Value = Cells("S2:S").Value
Cells(son + 2, "G").Value = Cells("U2:U").Value
Cells(son + 2, "L").Value = Cells("Z2:Z").Value
 
P:Z sütun aralığı içinde son satırı belirtmeniz gerekiyor.

"P" sütunu için örnek veriyorum gerisiniz siz yapmaya çalışın.

C++:
Option Explicit

Sub Test()
    Dim Son_B As Long, Son_P As Long
    
    Son_P = Cells(Rows.Count, "P").End(3).Row
    Son_B = Cells(Rows.Count, "B").End(3).Row
    Cells(Son_B + 2, "B").Resize(Son_P).Value = Cells(2, "P").Resize(Son_P).Value
End Sub
 
Merhaba,

Aşağıdaki kodları kendinize uyarlayınız.

Kod:
Sub topla()

    Dim SonSat  As Long
   
    SonSat = Cells(Rows.Count, "E").End(3).Row
    Range("E" & SonSat + 1) = Application.WorksheetFunction.Sum(Range("E2:E" & SonSat))
   
End Sub

Hocam bunu para birimi formatına nasıl çevirebilirim.
.Numberformat = "#,##0.00" şeklinde kod buldum ama nereye nasıl yaparım bilemedim. Bu konuda yardımcı olabilir misiniz.
 
Hocam bunu para birimi formatına nasıl çevirebilirim.
.Numberformat = "#,##0.00" şeklinde kod buldum ama nereye nasıl yaparım bilemedim. Bu konuda yardımcı olabilir misiniz.

Hangi hücrenin formatını ayarlayacaksanız ona uygulayacaksınız,

Örneğin :
Range("A5").Numberformat = "#,##0.00"
gibi, A5 i formatlamış olursunuz.
 
Hangi hücrenin formatını ayarlayacaksanız ona uygulayacaksınız,

Örneğin :
Range("A5").Numberformat = "#,##0.00"
gibi, A5 i formatlamış olursunuz.


Necdet Bey merhaba,

Sizin yazmış olduğunuz kodlar için format uygulamaya çalıştım. Sizin kodlarınızı yapınca örneğin 12500145 çıkıyor. Ben ise 125.001,45 çıkmasını istiyorum.


Sizin yazmış olduğunuz kod aşağıdaki gibidir.


Kod:
Sub topla()



    Dim SonSat  As Long

  

    SonSat = Cells(Rows.Count, "E").End(3).Row

    Range("E" & SonSat + 1) = Application.WorksheetFunction.Sum(Range("E2:E" & SonSat))

  

End Sub
 
Deneyiniz.

Kod:
Sub topla()

    Dim SonSat  As Long
    SonSat = Cells(Rows.Count, "E").End(3).Row

    With Range("E" & SonSat + 1)
        .Value = Application.WorksheetFunction.Sum(Range("E2:E" & SonSat))
        .NumberFormat = "#,##0.00"
    End With
    
End Sub
 
Deneyiniz.

Kod:
Sub topla()

    Dim SonSat  As Long
    SonSat = Cells(Rows.Count, "E").End(3).Row

    With Range("E" & SonSat + 1)
        .Value = Application.WorksheetFunction.Sum(Range("E2:E" & SonSat))
        .NumberFormat = "#,##0.00"
    End With
   
End Sub



Necdet Bey merhaba,

Bu kodu çoklu da çalıştırmadım. Örnek olarak,

C++:
Dim SonSat  As Long

    SonSat = Cells(Rows.Count, "E").End(3).Row
    With Range("E" & SonSat + 1)
        .Value = Application.WorksheetFunction.Sum(Range("E2:E" & SonSat))
        .NumberFormat = "#,##0.00"
    End With

 SonSat = Cells(Rows.Count, "F").End(3).Row
    With Range("F" & SonSat + 1)
        .Value = Application.WorksheetFunction.Sum(Range("F2:F" & SonSat))
        .NumberFormat = "#,##0.00"
    End With

 SonSat = Cells(Rows.Count, "G").End(3).Row
    With Range("G" & SonSat + 1)
        .Value = Application.WorksheetFunction.Sum(Range("G2:G" & SonSat))
        .NumberFormat = "#,##0.00"
    End With

şeklinde yapınca, hata veriyor ve en sondaki end sub u gösteriyor.
 
Merhaba,
Hata veriyor derken ne diyor?

Olmazsa örnek dosyanızı ekleyin bakalım. Hatayı da görme şansınız olur.
 
Sn. Necdet Bey merhaba,

Sizi yormamak adına hatamın kaynağını biraz araştırdım. Hatam; Çok fazla prosedür olduğundan makro çalıştıramadı. Sizin kodları makro1, makro2 şeklinde modüllere bölüp call makro1, call makro 2 şeklinde çağırdım ve düzeldi. Emeklerinize sağlık teşekkür ederim.
 
Geri
Üst