Bug im Code, aber wo?
27.03.2007 15:00:00
Benjamin
ich habe nun versucht eine eigene Funktion zu schreiben. Leider beschwert sich Excel permanent über einen Syntaxfehler, den ich nicht finde. Der Code folgt unten, die Beschreibung der Funktion ist folgendermasse:
Ich betrachte ein Feld 'feld', daß eine EDV-Dosen-Nummer enthält. Nun kontrolliere ich ob diese Nummer in einer Liste 'dosen' bereits auftaucht. Wenn ja dann ermittle ich den zugehörigen Eintrag aus der Liste 'geraete' und gebe ihn zurück. Andernfalls wird der Wert 'Frei' zurückgegeben. Wenn ich die Formel direkt per hand in Excel eingebe funktioniert alles. Nur die Übertragung in VBA scheint noch nicht ganz zu stimmen.
feld: z.B. $A$2
dosen: Bereichsname der auf eine Liste zeigt, z.B. $C$2:$C$20
geraete: Bereichsname der auf eine Liste zeigt, z.B. $D$2:$D$20
Code:
Function DOSENBELEGUNG(feld As String, geraete As Range, dosen As Range) As String
' Dosenbelegung Funktion
' Ermittlung der Anschlussdosenbelegung
DOSENBELEGUNG = IF(COUNTIF(dosen,feld)>0,INDEX(geraete,MATCH(feld,dosen,0)),""frei"")
End Function
Kann mir jemand weiterhelfen? Vielen Dank schon mal :)
Gruß
Benjamin