VBA - Wasn da los?

Hallo allerseits

Ich habe in Excel VBA ein kleines Programm geschrieben wo die Funktion kfTest aufgerufen wird, die die Funktion RhoTest aufruft.
Wenn ich die Funktion kfTest aufrufe erhalte ich die Fehlermeldung

„Fehler beim Kompilieren - Argumenttyp byRef unverträglich“

Programmcode (in einem Modul)

Function RhoTest(gamma, Rho0, k1, k2 As Double) As Double
 RhoTest = Rho0 \* gamma \* k1 \* k2
End Function


Function kfTest(gamma, Rho0, k1, k2, mue0 As Double) As Double 
 kfTest = RhoTest(gamma, Rho0, k1, k2)
End Function

Wenn ich in der Funktion kfTest in der Parameterliste das mue0 streiche, geht es seltsamerweise.

Kann mir jemand helfen?

Gruss

Ratz

Hallo, Ratz!

„Fehler beim Kompilieren - Argumenttyp byRef unverträglich“

„gamma, Rho0, k1, k2 As Double“ definiert einen Parameter, nämlich k2, als Double und drei als Variant.

„gamma, Rho0, k1, k2, mue0 As Double“ definiert einen Parameter, nämlich mue0, als Double und vier, insbesondere auch k2, als Variant.

RhoTest will aber den vierten Parameter als Double haben, Du übergibst aber Variant.

Ist zwar lästig, aber bitte hinter jeden Parameter den Datentyp mit „As Double“ setzen, dann klappt’s auch mit dem Nachbarn…

Gruß, Manfred

Klasse!!! Danke
Hallo Manfred

Ist zwar lästig, aber bitte hinter jeden Parameter den
Datentyp mit „As Double“ setzen, dann klappt’s auch mit dem
Nachbarn…

Danke für die schnelle Antwort.
An die viele Schreibarbeit hab ich nicht gedacht…

Gruss

Ratz

Wenn ich die Funktion kfTest aufrufe erhalte ich die
Fehlermeldung
„Fehler beim Kompilieren - Argumenttyp byRef unverträglich“

Function kfTest(gamma, Rho0, k1, k2, mue0 As Double) As Double
kfTest = RhoTest(gamma, Rho0, k1, k2)
End Function
Wenn ich in der Funktion kfTest in der Parameterliste das mue0
streiche, geht es seltsamerweise.

Hi Ratz,
(ungetestet)
probiers mal so:

Function kfTest(byval gamma, byval Rho0, byval k1, byval k2, byval mue0 As Double) As Double

Gruß
Reinhard