1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Schriftfarbe in Calc ändern mit LibeOffice Basic

Discussion in 'Programmieren' started by Neydiju, Jul 23, 2012.

Thread Status:
Not open for further replies.
  1. Neydiju

    Neydiju ROM

    Hallo!!

    Ich hab seit Jahren nicht mehr Basic programmiert und wollte jetzt aber eine Tabelle übersichtlicher gestalten. Dazu sollen 3 Zellen in einer Spalte rot, gelb oder grün eingefärbt werden, abhängig davon, welche Kategorie in der 3. Zelle (= E6 abwärts) steht: 1 = rot, 2 = gelb, 3 = grün.
    Ich habe mir jetzt ein Makro zusammengebastelt, was immerhin den Hintergrund schon richtig einfärbt.

    Code:
        REM  *****  BASIC  *****
    
        option explicit
    
        sub Kategorienfarben
           rem ----------------------------------------------------------------------
           rem Deklaration
           dim einkaufsl as object
           dim cell      as object
           dim cellKat   as integer
           dim s as integer
           dim z as integer
           dim rot   as long
           dim gruen as long
           dim gelb  as long
           
           rem ----------------------------------------------------------------------
           rem Initialisierung
           s  = 0
           rot = 13172758
           gelb = 16749838
           gruen = 5741852
    
           rem Zugang zum Dokument
           einkaufsl  = ThisComponent.Sheets(0)
           
           rem ----------------------------------------------------------------------
           rem Körper
           for z = 5 to 79                     rem 6 ist erste Zeile der Eintraege, 80 zur Zeit letzte (minus 1 jeweils, weil es bei 0 anfaengt)
           cellKat = einkaufsl.getCellByPosition(4,z).value
              for s=2 to 4                  rem entspricht C bis E
                 cell = einkaufsl.getCellByPosition(s,z)
                 select case cellKat
                    case 1
                       cell.CellBackForeBackColor = rot
                    case 2
                       cell.CellBackForeColor = gelb
                    case 3
                       cell.CellBackForeColor = gruen
                 end select
              next rem von s
           next rem von z
           rem ----------------------------------------------------------------------
        end sub
    
    Statt des Hintergunds will ich aber ja eigentlich die Schrift ändern. Gibt es dazu auch irgendwo eine Zelleigenschaft? Oder sonst irgendwas?

    Ggf. könnte man das auch über bedingte Formatierung lösen, aber da kann ich ja immer nur eine Zelle und nicht die drei Zellen einfärben, oder?

    Herzlichen Dank und viele Grüße,
    Neydiju
     
Thread Status:
Not open for further replies.

Share This Page