• DİKKAT

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

Belirlene aralıktaki toplamların alınması

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
943
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
iyi günler,

D4 D7 , E4:E7, F4:F7,G4:G7;H4:H7 aralıktaki toplamların aldırmak istiyorum,
 

Ekli dosyalar

Merhaba,
Belirttiğiniz alanlara girdiğiniz sayılar string (metin) ifadesi olarak yazılmış. Yani hücre biçimlendirmeden yapmak yerine, elle nokta girilmiş. (Ayıraç ifadeleri). O yüzden hata veriyor.
Bazı sayıları da, parantez içinde yazmışsınız, doğal olarak sayı olmaktan çıkıp stringe dönüşüyor
Klavyeden aralık ve nokta girmeden sayıları girerseniz hiç değilse toplanacak bir değer ortaya çıkar.
 
Son düzenleme:
Belge 1'de yer alan tabloyu (aynen formatında)
buraya yerleştirip formül yada makro yoluyla "TOPLAM" alıp, tekrar Belge 1 aynen yerleştirmek istiyorum, burada amacım word belgesinde manuel olarak toplamları aldığım için hatalara neden olmaktadır, hata vermesinin sebepi haklısınız sayılardan kaynaklanmaktadır.

http://s3.dosya.tc/server13/n1t60r/klasor.zip.html
 
Word'de de toplama yapma özelliği olduğunu biliyorsunuz değil mi?
 
1903emre34@gmail.com' Alıntı:
Belge 1'de yer alan tabloyu (aynen formatında) buraya yerleştirip formül yada makro yoluyla "TOPLAM" alıp, tekrar Belge 1 aynen yerleştirmek istiyorum, burada amacım word belgesinde manuel olarak toplamları aldığım için .....

Sebebi anlaşıldı.
Aşağıdaki kodu örnek sayfanıza göre hazırladım. Kendinize göre uyarlayabilirsiniz.
Kod:
Sub sayilar_toplamlar()
Dim hcr As Range, alan As Range, toplam As Double
Set alan = Sayfa1.Range("D4:H7")
For y = 4 To 8
    For x = 4 To 8
        Set hcr = Sayfa1.Cells(x, y)
        deg = Replace(Replace(Replace(Replace(hcr.Value, ".", ""), ")", ""), "(", ""), "-", "")
        If deg = "" Then deg = 0
        hcr.Value = deg * 1
    Next x
Next y
toplam = Application.WorksheetFunction.Sum(alan)
Sayfa1.Range("C11").Value = Format(toplam, "#,##0.#0")
MsgBox "İşlem tamamlandı", vbInformation, "antonio"
End Sub
 
Alternatif;

Kod:
=TOPLA.ÇARPIM(--YERİNEKOY(YERİNEKOY(D4:D7;".";"");"-";0))
 
Sn.antonio teşekkürler kod çalışıyor; D1 D7,E4:E7,F4:F7,G4:G7,H4:H7 her bir aralıklarında toplamları bağlı bulunduğu altına , şu formatta ki gibi;
10.000,00
ve sıfır yerine "-" işareti gelecek şekilde değişiklik yapabilmiyiz.
 

Ekli dosyalar

Size önerdiğim kodların yerine aşağıdakileri deneyiniz.
Kod:
Sub sayilar_toplamlar()
Dim hcr As Range, alan As Range, toplam As Double
Set alan = Sayfa1.Range("D4:H7")
On Error Resume Next
For y = 4 To 8
    For x = 4 To 7
        Set hcr = Sayfa1.Cells(x, y)
        deg = Replace(Replace(Replace(hcr.Value, ".", ""), ")", ""), "(", "")
'(önceki kodlarda 4 adet Replace kullanılmıştı, burada 3 tane)
        If deg = "" Then deg = 0
        hcr.Value = deg * 1
    Next x
Next y
For d = 4 To 8
    alttoplam = Application.WorksheetFunction.Sum(Sayfa1.Range(Cells(4, d), Cells(7, d)))
    Sayfa1.Cells(8, d).Value = Format(alttoplam, "#,##0.#0")
Next d
toplam = Application.WorksheetFunction.Sum(alan)
Sayfa1.Range("C11").Value = Format(toplam, "#,##0.#0")
MsgBox "İşlem tamamlandı", vbInformation, "antonio"
End Sub
 
Son düzenleme:
Sıfır yerine "-" işareti geliyor, ama toplamı sıfır geliyor, dosya ekte gibidir.
 

Ekli dosyalar

8 No'lu Mesajımdaki kodları güncelledim.
 
Sn.antonio soz kez isteğim olacak, konu açarken belirtmemiştim, atlamışım,

(D+E-H) buraya çıkan sonucu parantez içerisinde mümkünse gösterebilirmiyiz?
 
Son düzenleme:
Sanırım her satırdaki D+E-H değerinin ayrı ayrı belirtilmesini istiyorsunuz. Peki bu değerlerin hangi sütuna yazdırılmasını istiyorsunuz?
 
Çözümlenmiş dosyanız ektedir.
 

Ekli dosyalar

Rica ederim. İyi çalışmalar.
 
Geri
Üst