Problem bei selbstentwickelter Funktion

Bild

Betrifft: Problem bei selbstentwickelter Funktion
von: John
Geschrieben am: 21.11.2003 10:16:05

Hallo zusammen,

ich habe eine Funktion geschrieben, die es dem Benutzer erlaubt, durch Eingabe des Formelsyntax z.B. "=VONBIS(A3;"ab";"cd";1)" den Wert einer Zelle "auseinanderzupflücken".
Funktioniert so weit auch ganz gut, die Funktion lautet:

Function VONBIS(bezug, sepvon, sepbis, block)

Meine Frage: Kann man die Funktion so konfigurieren, daß der letzte Zeil der Funktion (die Variable "block") optional ist?
Damit möchte ich erreichen, daß - wenn ich den Syntax "=VONBIS(A3;"ab";"cd")" eingebe (also ohne das ";1" am Ende) - die Formel nicht "#WERT!" ausgibt.
Meines Erachtens muß man die "block"-Variable dafür irgendwie deklarieren, z. B.

Function VONBIS(bezug, sepvon, sepbis, block as optional)

oder so... aber ich komm' einfach nicht dahinter!
Vielen Dank im Voraus!
Gruß,

John

Bild


Betrifft: AW: Problem bei selbstentwickelter Funktion
von: Nayus
Geschrieben am: 21.11.2003 10:30:49

Hi,
folgendes Demo demonstriert die Verwendung optionaler Parameter:

Public

Function mycalc(a As Long, b As Long, Optional c As Long)
 Application.Volatile
 If IsMissing(c) Then
  mycalc = a + b
 Else
  mycalc = a + b + c
 End If
End Function



Gruß,
Nayus


Bild


Betrifft: AW: Problem bei selbstentwickelter Funktion
von: John
Geschrieben am: 21.11.2003 10:49:57

Funktioniert super, vielen Dank!
Gruß,

John


Bild


Betrifft: AW: Problem bei selbstentwickelter Funktion
von: Nike
Geschrieben am: 21.11.2003 10:32:54

Hi,
mal so versuchen?

Function VONBIS(bezug As Range, sepvon As Integer, sepbis As Integer, Optional block As Integer)

Bye

Nike


Bild


Betrifft: AW: Problem bei selbstentwickelter Funktion
von: John
Geschrieben am: 21.11.2003 10:50:41

Funktioniert super, vielen Dank!
Gruß,

John


Bild


Betrifft: AW: Optional Block As .... = ...
von: Galenzo
Geschrieben am: 21.11.2003 10:34:25

Hallo,
bei Optionalen Argumenten gibst du einen Wert für DEN Fall vor, wenn dieser Parameter bei Aufruf der Funktion nicht angegeben wird.

function vonbis (bezug as range, sepvon as integer, sepbis as integer, optional block as integer=0)

Viel Erfolg!


Bild


Betrifft: AW: Optional Block As .... = ...
von: John
Geschrieben am: 21.11.2003 10:52:47

Funktioniert super, vielen Dank! Hatte bloß den Fehler gemacht, daß ich in meiner ursprünglichen Version das "optional" HINTER die Variable geschrieben habe. Jetzt klappt's... :)
Gruß,

John


Bild

Beiträge aus den Excel-Beispielen zum Thema " Problem bei selbstentwickelter Funktion"