Renklere göre toplama yapmak

Renklere göre toplama yapmak

Giriş

Aslında daha basit örneklerle ilerlemek düşünülebilir. Ancak bu derste azıcık ileri saracağız.

Pardus forumlarında bir arkadaş renklere göre hücre toplamanın nasıl yapılacağını sormuştu.

Allah'ın izni ile bir çözüm geliştirdik.

Şimdi sizlere de izah etmeye çalışalım.

Renklere göre toplama

Aşağıdaki kütüğü

/home/erdem/.config/libreoffice/4/user/Scripts/python

dizinine renkli.py ismi ile kaydediniz.

Burada erdem yerine kendi kullanıcı adınızı seçiniz.

import uno

def rengeGoreTopla(renk):
    belge = XSCRIPTCONTEXT.getDocument()
    sayfa = belge.Sheets[0]
    renkliHücre = sayfa[renk]
    istediğimizRenk = renkliHücre.CellBackColor
    toplam = 0
    for satır in range(0, 19):
        for sütun in range(0, 11):
            hücre = sayfa.getCellByPosition(sütun, satır)
            if hücre.CellBackColor == istediğimizRenk:
                okunan = hücre.getValue()
                toplam += okunan
    renkliHücre.setString(str(toplam))
    return

def  renkliTopla(birşeyler):
    renkliHücreler = { "M1", "M2", "M3", "M4", "M5" }
    for hücre in renkliHücreler:
        rengeGoreTopla(hücre)

Makroyu çalıştırdığınızda M1:M5 aralığındaki hücrelerin renklerine göre A1:K19 arasında bulunan sayıları topluyor.

Renge göre hücreleri topla

Veriler değiştiğinde makronun çalışması için altaki Sayfa1 e sağ tıklayınız.

Sayfa Olayları -> İçerik değişti ata Makro yolunu takip ederek renkli içinden renkliTopla yı seçiniz.

Makroların çalışabilmesi için Araçlar -> Seçenekler -> Güvenlik -> Makro Güvenliği yolunu takip ederek Düşük ya da Orta olarak seçmek gerekiyor.

Orta düzey güvenlik seçerseniz makro içeren her belgede sizden onay istiyor.

Uygulama için oluşturduğumuz hesap tablosunu buradan indirebilirsiniz.

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.