🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Probleme mit Funktion

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Lebewesen
Beiträge: 5
Registriert: Sa 15. Jan 2011, 14:05

[gelöst] Probleme mit Funktion

Beitrag von Lebewesen » Sa 15. Jan 2011, 14:53

Hallo erstmal,

ich habe ein Problem mit einer selbsterstellen Funktion, und zwar soll diese die Farbigen Zellen zählen. Das funktioniert auch, wenn ich die Zellen direkt angebe. Allerdings schaffe ich es nicht, dass ich der Funktion einen Bereich übergeben kann. Ich hoffe ihr könnt mir helfen.

Code: Alles auswählen

function farbezaehlen(rng As Range)
   oDoc = thisComponent
   oSheet = oDoc.sheets(0) 'erstes Tabellenblatt
   oBereich = oSheet.getCellRangeByName(rng)
	x = 0
	y = 0
	'auslesen der Eckpunkte 
	iErsteSpalte = oBereich.rangeAddress.startColumn
	iErsteZeile = oBereich.rangeAddress.startRow
	iLetzteSpalte = oBereich.rangeAddress.EndColumn
	iLetzteZeile = oBereich.rangeAddress.EndRow 
	For l = 0 to iLetzteZeile-iErsteZeile
	  For m = 0 to iLetzteSpalte-iErsteSpalte
	    oCell=oBereich.getCellByPosition(m,l)
	    if oCell.IsCellBackgroundTransparent = false then 'zählt Zellen die nicht transparent sind
	     x = x + 1
	    end if
	  next m
	next l 
	Farbenzaehlen=x
End function 
Zuletzt geändert von Lebewesen am Mi 19. Jan 2011, 07:18, insgesamt 1-mal geändert.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
Registriert: Fr 10. Dez 2010, 10:01

Re: Probleme mit Funktion

Beitrag von karolus » So 16. Jan 2011, 14:51

Hallo
farbezaehlen ist ungleich farbenzaehlen
Du musst die Funktion in der Form =FARBEZAEHLEN("B4:D20") aufrufen.

Code: Alles auswählen

function farbezaehlen( rng as string )

   oDoc = thisComponent
   oSheet = oDoc.sheets(0) 'erstes Tabellenblatt
   oBereich = oSheet.getCellRangeByName(rng)
   'auslesen der Eckpunkte
   iErsteSpalte = oBereich.rangeAddress.startColumn
   iErsteZeile = oBereich.rangeAddress.startRow
   iLetzteSpalte = oBereich.rangeAddress.EndColumn
   iLetzteZeile = oBereich.rangeAddress.EndRow
   
   For irow = iErsteZeile to iletzteZeile
     For icol = iErsteSpalte to iletzteSpalte
       oCell=osheet.getCellByPosition( icol, irow )
       if not ocell.IsCellBackgroundTransparent  then 'zählt Zellen die nicht transparent sind
        x = x + 1
       end if
     next icol
   next irow
   Farbezaehlen = x
End function 
Gruß Karo
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Lebewesen
Beiträge: 5
Registriert: Sa 15. Jan 2011, 14:05

Re: Probleme mit Funktion

Beitrag von Lebewesen » Di 18. Jan 2011, 07:10

Hallo
ich habe immer noch ein Problem. In der Zeile "oBereich = oSheet.getCellRangeByName(rng)" bekomme ich die Fehlermeldung "BASIC-Laufzeitfehler. Objektvariable nicht belegt." woran könnte das liegen?

Dieses Problem tritt sowohl in der aktuellsten LO Version auf, als auch unter OO.

Gruß
Bastian

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
Registriert: Fr 10. Dez 2010, 10:01

Re: Probleme mit Funktion

Beitrag von karolus » Di 18. Jan 2011, 11:13

Hallo
Hab ich nicht deutlich genug erwähnt, das du den Zellbereich in Anführungszeichen setzen musst ?
Du musst die Funktion in der Form =FARBEZAEHLEN("B4:D20") aufrufen.
Karo
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Lebewesen
Beiträge: 5
Registriert: Sa 15. Jan 2011, 14:05

Re: Probleme mit Funktion

Beitrag von Lebewesen » Di 18. Jan 2011, 23:38

:oops:
Hallo Karo

DASS ist mir entgangen! Und darüber habe ich mir Stunden den Kopf zerbrochen...

Vielen Dank
Bastian
:oops:


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten