ich habe mal ne fragen zum Basic / makro.
ich habe hier ein Makro gefunden mit dem man Hintergrundfarben in einer Tabelle zählen kann. Dieses Makro wollte ich gerne als Funktion um bauen aber irgendwie kommt ich damit nicht ganz zu recht. Ich wollte die Funktion in einer Zelle aufrufen in der dann das ergebnis eingetragen wird.
Aufrufen tute ich die Function durch
=farbe_zaehlen("a3";"bh33";0;0;255)
Damit sollte doch eigentlich die Hintergrundfarbe Blau gezählt werden.
Aber passieren tut da nichts.
Habe das Gefühl das die Anfang- und die Endzelle nicht richtig übergeben wird.
Code: Alles auswählen
function farbe_zaehlen(begin,ende,R,G,B)
oDoc = thisComponent
oSheet = oDoc.sheets(1) 'erstes Tabellenblatt
oStart = osheet.getCellRangeByName(begin) 'zu prüfender anfang Zellbereich
oEnde = osheet.getCellRangeByName(ende) 'zu prüfender ende Zellbereich
x = 0
y = 0
'auslesen der Eckpunkte
iErsteSpalte = oStart.rangeAddress.startColumn
iErsteZeile = oStart.rangeAddress.startRow
iLetzteSpalte = oEnde.rangeAddress.EndColumn
iLetzteZeile = oEnde.rangeAddress.EndRow
For i = 0 to iLetzteZeile-iErsteZeile 'Zählschleife
For m = 0 to iLetzteSpalte-iErsteSpalte
ostart=oCellRange.getCellByPosition(m,i)
'msgbox ("Zellbereich: " & (m) & (i) & CHR (13) ) 'zum debug
if ostart.Cellbackcolor(R,G,B) = RGB (R,G,B) then ' Farbe blau
x = x + 1
end if
next m
next i
End function
Gruß André