Merhaba, Evde Libreofiste aylık giderlerimi tutuyorum. Faturalar, mutfak masrafları vs. gibi. Tablomda rastgele hücrelerde ödemem gereken ücretler var. Ben bu ücretleri ödediğim zaman hücreyi sarıya boyuyorum. Bu sayede hangileri ödendi, hangileri ödenmedi ayırabiliyorum. Gelelim sıkıntıya. Ben ödediğim tüm ücretlerin toplamını görmek istiyorum. Ödediğim ücretlerin hücrelerini sarıya boyadığıma göre bu renge göre toplama yapmam lazım. Bu ücretler tabloda değişik yerlerde duruyorlar. Alt alta yada yan yana değiller. Bu yüzden filitre filan kullanamıyorum. Kısacası bana "hücre rengi sarı ise, hücre değerini al ve topla" gibi bir şey formül lazım. Araştırmalarım sonucu bazı makrolar filan buldum ama sonuca varamadım. Sağolsunlar libreoffis forumlarına üye olmak da cehennem azabı gibi. |
LibreOffice Hücre Rengine Göre Toplama
-
-
alt+f11 ile makro penceresini aç
yeni bir modül ekle formül olarak aşağıdaki kodu yapıştır.sayfadaki hücre rengi sarı olan bütün hücreleri c5 hücresine topluyor. toplam sonucunu hangi hücrede görmek istiyorsan c5 hücresini değiştirebilirsin.
Yalnız toplama işleminin yapılması için excel e geliştirici menüsünden ekle kısmından buton koyman gerekiyor. butona tıkladığında otomatik topluyor.
Sub SumYellowCells()
Dim ws As Worksheet
Dim cell As Range
Dim sumYellow As Double
Set ws = ActiveSheet
For Each cell In ws.UsedRange
If cell.Interior.Color = vbYellow Then
sumYellow = sumYellow + cell.Value
End If
Next cell
ws.Range("C5").Value = sumYellow
End Sub
-
Bunu eve geçince deneyeceğim.
Sayfadaki tüm sarı hücreler yerine belirli bir aralıktaki sarı hücreleri toplatamaz mıyız?
Mesela B3 ile K20 arasındaki hücrelerden sarı olanları toplasın.
-
Sub ToplaSarıHücreler()
' B3 ve K20 arasındaki hücre aralığını tanımla
Dim aralik As Range
Set aralik = Range("B3:K20")
' Toplamı başlat
Dim toplam As Double
toplam = 0
' Aralıdaki her bir hücreyi dolaş
For Each hücre In aralik
' Hücrenin içi sarıysa değeri toplama ekle
If hücre.Interior.Color = 65535 Then
toplam = toplam + hücre.Value
End If
Next hücre
' Toplamı J1 hücresine yazdır
Range("J1").Value = toplam
End Sub
b3 ile k20 aralığındaki sarı renkte olan hücreleri toplayıp j1 hücresine yazar
-
Ben bir şeyi yanlış mı yapıyorum acaba?
Makroya eklediğim formül döküman içinde çalışmıyor.
Çağırırken "=ToplamSariHucreler()" şeklinde çağırmıyor muyuz?
-
hocam ben libreoffice kullanmıyorum o yüzden deneme şansım yok.araştırmalarım neticesinde libreoffice'de sarı renk 4255616 kod ile belirtiliyor.65535 yazan yeri bu kod ile değiştirip dener misiniz?Hata alıyorsanız ne hatası aldığınızı yazarsanız belki çözüm bulabiliriz.
-
Desteğin için teşekkür ederim. Pardus forumunda aradığım cevabı buldum. Linki aşağıda.
pardus forumları - tübitak ulakbimRenklere göre hücre toplama nasıl yapılır?https://forum.pardus.org.tr/t/renklere-gore-hucre-toplama-nasil-yapilir/26338/6
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X