Biçime Göre Toplama

Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Excel Web Ailesine Selamlar

Hücrenin Biçimine Göre Toplam almak istiyorum.E Sütununda'ki $ ları ayrı TL 'leri Ayrı Toplasın.B Sütununada Toplamlar yazılsın istiyorum.

Örneğim Ektedir ..
Saygılar Sevgiler
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kod :
Kod:
Function ParaTopla(Secim As Range, Optional Tur As String = "TL")

    Dim Toplam As Double, _
        Hcr    As Range
    
    For Each Hcr In Secim
        If Tur = "$" And Hcr.NumberFormat = "#,##0.00 \$;-#,##0.00 \$" Then
            Toplam = Toplam + Hcr.Value
        ElseIf Tur = "TL" And Hcr.NumberFormat = "#,##0.00 TL" Then
            Toplam = Toplam + Hcr.Value
        End If
        
    Next Hcr
    
    ParaTopla = Toplam
    
End Function
Dosyanızdaki Kullanım $ İçin B2 :

Kod:
=ParaTopla(E2:E6;"$")
TL için B3:

Kod:
=ParaTopla(E2:E6;"TL")
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Aşağıdaki kodları ise formül uygulanacak hücre formatına göre toplama işlemini yapar, bu bence daha mantıklı, her türlü biçime göre çalışır.

Kod:
Function ParaToplam(Secim As Range)

    Dim Toplam As Double, _
        Hcr    As Range
    
    For Each Hcr In Secim
        If Hcr.NumberFormat = ActiveCell.NumberFormat Then Toplam = Toplam + Hcr.Value
    Next Hcr
    
    ParaToplam = Toplam
    
End Function
Kullanımı :
Kod:
=ParaToplam(E2:E6)
fonksiyonun uygulanacağı hücre formatı $ ise Dolar olanları, TL formatı ise TL olan hücreleri toplar.
 
Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Merhaba,

Kod :
Kod:
Function ParaTopla(Secim As Range, Optional Tur As String = "TL")

    Dim Toplam As Double, _
        Hcr    As Range

    For Each Hcr In Secim
        If Tur = "$" And Hcr.NumberFormat = "#,##0.00 \$;-#,##0.00 \$" Then
            Toplam = Toplam + Hcr.Value
        ElseIf Tur = "TL" And Hcr.NumberFormat = "#,##0.00 TL" Then
            Toplam = Toplam + Hcr.Value
        End If
    
    Next Hcr

    ParaTopla = Toplam

End Function
Dosyanızdaki Kullanım $ İçin B2 :

Kod:
=ParaTopla(E2:E6;"$")
TL için B3:

Kod:
=ParaTopla(E2:E6;"TL")
Değerli Necdet hocam b2 ve b3'e formülü ekledim ve sayfa 1' e kodu ekledim ama çalışmadı. excell 2013 var bende.. dosyam ekte bi göz geçirebilirmisiniz size zahmet.hani olmadı f sütununa tl ve $ da yazabilirim.f sütunundaki döviz kuruna görede bir çözüm olabilir.
 

Ekli dosyalar

Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Necdet hocanın çözümü uygulayamadım.sorun nedir acaba ?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Sayın Necdet beyin çözümü uygulanmış dosya ek'tedir,

İlgili hücrelerdeki biçimlendirmeleri inceleyiniz.

Makro, Modül'de kayıtlıdır.

Kolay gelsin.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Verilen örnekler ilk verdiğim koda göre hazırlanmış, ekteki dosya ise son verdiğim koda göre düzenlendi.
 

Ekli dosyalar

Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Merhaba,

Verilen örnekler ilk verdiğim koda göre hazırlanmış, ekteki dosya ise son verdiğim koda göre düzenlendi.
evet Necdet hocam siz yokken yardımcı oldular sağolsunlar.kodu modüle yazmamışım.Tekrar Teşekkürler. Saygılar.
 
Üst