Seite 1 von 1

ZÄHLENWENN() im Makro aufrufen [gelöst]

Verfasst: So, 13.03.2011 17:12
von clag
Hallo Kenner und Könner,

ich möchte im Makro die Funktion ZÄHLENWENN() ausführen aber leider verweigert mit mein Makro das

Code: Alles auswählen

oFunctionAccess = createUnoService( "com.sun.star.sheet.FunctionAccess" )

Dim args( 1 ) As Variant
   args(0) = "B2:B100"
   args(1) = "x"
result = oFunctionAccess.callFunction( "COUNTIF", args() ) 
print result
so habe ich das versucht das bringt aber eine "IllegalArgumentExeption" :(

was mache ich falsch?

Re: ZÄHLENWENN() im Makro aufrufen

Verfasst: So, 13.03.2011 17:25
von Karolus
Hallo
Für Basic ist "B2:B100" ein ganz normaler Text...

Gruß Karo

Re: ZÄHLENWENN() im Makro aufrufen

Verfasst: So, 13.03.2011 17:26
von Axel Richter
Hallo Clag,

die Funktion COUNTIF erwartet als ersten Parameter keinen String, sondern ein XCellRange.
http://api.openoffice.org/docs/common/r ... llFunction

Code: Alles auswählen

oFunctionAccess = createUnoService("com.sun.star.sheet.FunctionAccess")

oXCellRange = thiscomponent.Sheets(0).getCellRangeByName("B2:B100")

Dim args( 1 ) As Variant
   args(0) = oXCellRange
   args(1) = "x"
result = oFunctionAccess.callFunction( "COUNTIF", args() ) 

msgbox result
viele Grüße

Axel

Re: ZÄHLENWENN() im Makro aufrufen

Verfasst: So, 13.03.2011 17:37
von clag
Hallo Axel,

allerbesten Dank für deinen Hinweis,
denn kaum macht man es richtig, schon funktioniert es .... :lol:

Aber woher soll man das wissen, bei meiner web Stöberei hatte ich nichts in der Art gelesen
aber nu ist alles im Lot :)

@ Karo
ohne die " hatte ich es auch schon probiert aber des konnt ja nix werden ... ;)