Sütundaki sayıları topla yaz

Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
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
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,274
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

dgdizayn

Altın Üye
Katılım
7 Mart 2011
Mesajlar
138
Excel Vers. ve Dili
OFFİCE 2019 EN
Altın Üyelik Bitiş Tarihi
04-05-2028
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.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
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.
 

dgdizayn

Altın Üye
Katılım
7 Mart 2011
Mesajlar
138
Excel Vers. ve Dili
OFFİCE 2019 EN
Altın Üyelik Bitiş Tarihi
04-05-2028
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
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 

dgdizayn

Altın Üye
Katılım
7 Mart 2011
Mesajlar
138
Excel Vers. ve Dili
OFFİCE 2019 EN
Altın Üyelik Bitiş Tarihi
04-05-2028
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.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Hata veriyor derken ne diyor?

Olmazsa örnek dosyanızı ekleyin bakalım. Hatayı da görme şansınız olur.
 

dgdizayn

Altın Üye
Katılım
7 Mart 2011
Mesajlar
138
Excel Vers. ve Dili
OFFİCE 2019 EN
Altın Üyelik Bitiş Tarihi
04-05-2028
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.
 
Üst