Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion als Paramter

Funktion als Paramter
06.01.2006 18:09:32
windalf
Hallo @ll,
ist es in VBA möglich einer Funktion/Prozedur als Paramter eine Funktion übergeben und wenn ja wie?
Danke Gruß Windalf

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion als Paramter
06.01.2006 18:20:11
Sigi
Hi,
klar geht das. So ...

Sub Test()
Dim MeineZahl As Double
MeineZahl = 19
MsgBox Quadriere(Verdopple(Addiere20(MeineZahl)))
End Sub


Function Addiere20(Zahl As Double) As Double
Addiere20 = Zahl + 20
End Function


Function Verdopple(Zahl As Double) As Double
Verdopple = Zahl * 2
End Function


Function Quadriere(Zahl As Double) As Double
Quadriere = Zahl * Zahl
End Function

Gruß
Sigi
Anzeige
AW: Funktion als Paramter
06.01.2006 20:31:15
windalf
Hi Sigi,
nein so meinte ich das leider nicht... ;-)
Um mal ein Beispiel zu machen
Ich meinte das analoge zu z.B. diesem c-code
double trapez_integr(double u,double o,int s,double(*f)(double)){
double i=0,r=0,d=(o-u)/--s;
while(i-s)
r+=d/2*(f(u+i*d)+f(++i*d+u));
return r;
}
Ich will wirklich eine ganze Function als Parameter übergeben können und nicht nur einfach den Wert den mir ein FUnktionsaufruf liefert verwenden
Danke Gruß Windalf
AW: Funktion als Paramter
06.01.2006 22:30:34
Ramses
Hallo
kannst du das mal erklären ?
double trapez_integr(double u,double o,int s,double(*f)(double)){
Diese Funktion erwartet doch ebenfalls einzelne Parameter die sie verarbeiten kann.
Letztendlich kannst du IMMER nur einen Wert übergeben.
Auch wenn du eine Funktion übergibst, so wird diese Funktion erst aufgelöst/berechnet, bevor der Parameter verarbeitet werden kann.
Gruss Rainer
Anzeige
AW: Funktion als Paramter
06.01.2006 22:50:36
windalf
Hi Ramses...
der Unterschied ist, das ich eine beliebige funktion der funktion übergeben kann einzige bedingung hierbei ist das sie den oben spezifizierten typen entspricht...
im obigen beispiel bekommt sie also einen double und liefert ein double zurück...
der vorteil ist das ich jetzt quasi meine funktion mit verschiedenen funktionen aufrufen könnte...
wollte ich also im obigen Beispiel die funktion f(x) = x^2 von 0 bis 2 integrieren würde ich einfach trapez_integr(0,2,sqare) aufrufen wobei square eine funktion vom typ
double square(double) ist...
das gleiche könnte ich mit beliebigen anderen funktionen machen indem ich einfach den namen der funktion übergebe
Gruß Windalf
Anzeige
AW: Funktion als Paramter
06.01.2006 23:53:03
Ramses
Hallo
schon irgendwo besser verstanden jetzt.
Ich denke nicht, dass dies ohne grosse Krücken in VBA möglich sein wird.
Lasse mich aber gerne eines besseren belehren.
Daher noch als offen.
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige