Seite 1 von 1
mit CounIf Zahlen in einem array zählen?
Verfasst: So, 11.01.2009 15:04
von gurkende_gurke
Hallo liebe OOo-community,
Ich habe ein Problem mit einem Makro. Ich will überprüfen ob zahlen von 1-4 <>1 (Also öfter oder seltener) in meinem Array "Feld1(1,1)" vorkommen. Ich denke dies müsste ich mit countif() machen, aber mein versuch endet mit einem "Fehler in Klammerschachtelung".
hier ist mein code:
Danke im Vorraus für jede Hilfe
Re: mit CounIf Zahlen in einem array zählen?
Verfasst: So, 11.01.2009 15:43
von balu
Hallo Gurke,
in Makros kenne ich mich nicht so aus, aber COUNTIF ist ja ZÄHLENWENN und dementsprechend suchst Du falsch. Da Du ja nach einer Zahl suchst, lass da mal die doppelten Anführungsstriche weg, schreib einfach 1 hin. Und als nächstes lass auch noch die Ungleichüberprüfung (<>) weg, denn dann müsste rein theoretisch dir angezeigt werden wie oft die 1 vorhanden ist. Also versuchs doch einfach mal mit
Ferner vermute ich mal, dass mit Feld1 etwas nicht stimmt. Mehr kann ich dir aber dazu auch nicht sagen, dass müssten dann schon die Spezialisten hier übernehmen
Gruß
balu
Re: mit CounIf Zahlen in einem array zählen?
Verfasst: So, 11.01.2009 16:02
von gurkende_gurke
Danke Balu, aber ich will ja gar nicht angezeigt bekommen wie oft die 1 vorhanden ist. Mein code ist nur ein Ausschnitt meiner Subroutine, und ich muss das <> 1 da drin behalten (hab mich vertan, ausversehen statt <>1 <>0 geschrieben, da ich wenn die 1 öfter oder seltener als 1 mal vorkommt die Schleife wiederholen will. ("if soundso <>1 then
BLNAbbruch=false
else BLNAbbruch=true" falls dir das was sagt)
Jemand eine Idee wie das geht?
Re: mit CounIf Zahlen in einem array zählen?
Verfasst: So, 11.01.2009 16:26
von turtle47
Hallo Zusammen,
balu hat geschrieben:Da Du ja nach einer Zahl suchst, lass da mal die doppelten Anführungsstriche weg, schreib einfach 1 hin
Das ist in diesem Fall egal, es funktionieren beide Versionen.
Das Semikolon ";" in der Formel muss ein Komma sein!
Wenn man in einem Makro eine Calc-Funktion verwenden will, dann muss man zunächst folgende Zeile aufrufen:
Code: Alles auswählen
FuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")
Dann könnte der Code folgenermassen aussehen:
Code: Alles auswählen
FuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")
aResult=FuncAcc.callFunction("countif",array(Feld1,1))
if aResult <> 1 then
........
Ich hoffe das hilft weiter?
Jürgen
Re: mit CounIf Zahlen in einem array zählen?
Verfasst: So, 11.01.2009 16:36
von gurkende_gurke
Danke Jürgen, du bist wie so oft mein Retter =)