Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
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
Inhaltsverzeichnis

Byref, sonst Mehrfachdeklaration

Byref, sonst Mehrfachdeklaration
16.06.2016 21:34:59
Max
Ich habe eine Sub geschrieben, die wenn ich den commandbutton drücke direkt die Daten vom Tabellenblatt als Variablen nehmen soll und anschließend eine Funktion ausführt und den berechneten Wert in eine Zelle schreibt. Nun stoße ich allerdings auf das Problem (zumindest vermute ich , dass dies das Problem ist), dass ich bei der Sub Variablen anspreche, die ich erst in der Funktion deklariere.
Auszugsweise aus VBA:

Private Sub CommandButton1_Click()
S = Sheets("TriDiv").Range("D8").Value
[und weitere Werte]
(...)
option_price = TrinomialPricer(S, K, t, rf, vol, n, CallPut, AmerEuro, divmat)
[hier taucht die Meldung auf "Argumenttyp byRef unverträglich"]
(...)
End Sub

Weiter unten kommt meine Funktion
Public Function TrinomialPricer(S As Double, K As Double, t As Double, rf As Double, _
vol As Double, n As Double, CallPut As String, AmerEuro As String, divmat As Variant) As  _
Variant
(...)
End Function
hier definiere ich erst die Variablen und nehme an, dass ebendies zu der Fehlermeldung führt. _
_
Falls ich nun in der Sub alle Variablen deklariere, habe ich Mehrfachdeklarationen und im Falle, _
dass ich in der Sub deklariere und in der Funktion nicht mehr, kam (zu meinem Erstaunen) auch eine Fehlermeldung, da an bestimmten Stellen in der Funktion wieder die "byRef"-Fehlermeldung kam.
Gibt es einen einfachen Weg das Problem der Mehrfachdeklaration/Nichtdeklaration zu umgehen? _
Die Struktur mit einer Sub, die meine Funktion anspricht, würde ich gerne beibehalten.
Falls der Fehler doch ganz wo anders liegen sollte, wäre ich natürlich auch um jeden Hinweis _
dankbar
Vielen Dank fürs Helfen.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Byref, sonst Mehrfachdeklaration
16.06.2016 22:05:10
Planlos
Hallo
du hast 3 Möglichkeiten
1. in der schnittstelle deiner Funktion von byref (wird automatisch durch weglassen des Schlüsselwortes byref/byval angenommen) auf byval wechseln
2. Byval durch Klammerung der entsprechenden Variable beim Aufruf deiner Funktion erzwingen
und
3. was ich dir raten würde: Alle von dir verwendeten Variablen in ihrem richtigen Typ mittels "Dim" deklarieren. z.B in deiner "Sub ein Dim S as Double"
Was verstehst du unter einer Mehrfachdeklaration?

AW: Byref, sonst Mehrfachdeklaration
16.06.2016 22:28:14
Max
Ok, jetzt ging es doch. Ich dachte genau das (also oben Dim ...) hätte ich für alle gemacht und ein Fehler wäre auch da aufgetaucht, doch jetzt ging es scheinbar. Danke :)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige