Renklere göre hücre toplama nasıl yapılır?

Yusuf Bey burada ofis eklentisi yazmak için bir örnek var.

Şöyle bir deneme yaptım. Şimdi de 508 hatası alıyorum.

Function renkTopla(sutun,satir,renk,pos)
oSheet = ThisComponent.CurrentController.ActiveSheet
For sutunn = sutun to 10 REM 0=A 1=B 2=C sutunları
  For satirr = satir to 19 REM 0=birinci satır, 1=ikinci satır 2=içinci satır ....
    hucre = oSheet.getCellByPosition(sutunn, satirr) REM örnek (0,0)=A1 sutunu, (2,3)=C4 sutunu ...
    if (hucre.cellBackColor>0) Then REM hucre rengi beyazdan farklı bir renk ise işlem yapılacak
      For bulunan_satir = renk to 31 REM 3 tane renk için satır sayısı belirtildi. Fazla renk varsa sayıyı artırın.
        bulunan = oSheet.getCellByPosition(pos, bulunan_satir) REM toplamları G sutununa yazmak için 6 yazıldı. Çünkü G sutunu 6. sutundur.
        if bulunan.cellBackColor = hucre.cellBackColor Then
          bulunan.setValue(bulunan.getValue()+hucre.getValue())
        End if
      Next bulunan_satir
    End If
  Next satirr
Next sutunn

End Function
1 Beğeni

Biraz araştırınca 508 hatasının formül yazım hatası olduğunu anladım.
Doğru şekilde formülü yazınca bir toplam elde ettim ama toplama hesabı yanlıştı.
Hücre aralıklarını doğru girmediğimi düşünerek biraz daha kurcalayınca belgem açılmayacak ve kurtarılamayacak şekilde hata verdi.
Kısa bir panikten sonra “C:\Users\xxxx\AppData\Roaming\LibreOffice\4\user\basic\Standard” altındaki makro sayfasına girip oluşturduğum fonksiyonu silince belegemi kurtardım.
Bu günlük bu kadar atraksiyon yeter. :slight_smile:

1 Beğeni

Bu arada Gpt Excel isimli bir yapay zeka destekli hesaplama tablosu teknolojisi var. Onu da denemenizi öneririm. Türkçe olarak istediğinizi yazın, size gereken tabloyu oluşturuyor. Dilerseniz sizin için macro yazabiliyor.

Örnek Olarak Yaptığım Bir Uygulama

1 Beğeni

Keşke GptCalc da olsa. O zaman Libre Office Calc makrolarını yazmak için uğraşmak gerekmezdi.

1 Beğeni

Bu konu son yanıttan 30 gün sonra otomatik olarak kapatıldı. Yeni yanıtlara artık izin verilmiyor.