Benutzerdefinierte Funktion mit einem Array als Parameter

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Benutzerdefinierte Funktion mit einem Array als Parameter

[SOLVED] Benutzerdefinierte Funktion mit einem Array

von professor_ » Fr, 20.03.2009 09:51

Danke - somit ist das Problem gelöst!

Re: Benutzerdefinierte Funktion mit einem Array als Parameter

von Charly » Fr, 20.03.2009 09:13

Hallo Sabine!
professor_ hat geschrieben: aber in der Zeile "if (f(i) ..." erhalte ich immer "index out of defined range"
Das kommt daher, weil ein Zellbereich immer zwei Dimensionen hat. In der ersten Dimension wird die Zeile und in der zweiten Dimension die Spalte abgebildet.
In dem Bereich A1:A10 gibt es eine Spalte und 10 Zeilen. Schreibe also statt f(i): f(i,1).
Bei unterschiedlichen Spaltenanzahl kannst du natürlich die zweite Dimension auch mit LBound und UBound abfragen:

Code: Alles auswählen

1_DimensionAnfang = lbound(f,1)
1_DimensionEnde = UBound (f,1)
2_DimensionAnfang = lbound(f,2)
2_DimensionEnde = UBound (f,2)
Gruß
Charly

Benutzerdefinierte Funktion mit einem Array als Parameter

von professor_ » Fr, 20.03.2009 08:14

Hallo,

ich möchte eine benutzerdefinierte Funktion mit einem Array als Parameter erstellen, in der Art:

Code: Alles auswählen

Function TEST(f)
	TEST = -1
	Length = UBound(f) - LBound(f) + 1
	for i=1 to Length-5
		if ( f(i) < 50 and f(i+1)<50 and f(i+2) < 50) then
			TEST=i
		end if
	next i
End Function
Die Fkt. schaut einfach nach dem ersten Wert < 50. Diese Funktion rufe ich dann in Calc auf: =TEST(A1:A10). In "Length" steht tatsächlich auch die richtige Anzahl von Werten, aber in der Zeile "if (f(i) ..." erhalte ich immer "index out of defined range".

Was mache ich denn da falsch?

Danke!
Sabine Lorentz

Nach oben