VBA Verdeklaration und Übergabe
Hallo
Ich habe ein Problem, was ich mit meinem bisherigen VBA wissen nicht lösen kann.
Private Sub Licence_Inherited_From_LostFocus()
Dim Erber As String
Erber=Me.Login 'Me.Login ist hierbei ein Formularfeld
Call Inherit_Licence(Erber) 'Me.Login anstatt Erber funzt..Wieso???
End Sub
Private Sub Inherit(Erbe As String)
MsgBox ("Hallo " & Erbe)
End Sub
Warum kann ich nicht die String-Variable Erber nicht als Parameter weitergeben? Bzw. wie kann ich sie weitergeben?
Antwort schreiben
Antwort 1 von Booyeoo vom 17.06.2019, 23:06 Options
Achja, kriege die Fehlmeldung:
Fehler beim Kompilieren:
Argumenttyp ByRef unverträglich
Danke für jede Hilfe
Antwort 2 von Hobst_Eppers vom 18.06.2019, 11:53 Options
Du deklarierst Erber als String, aber Me.Login ist ein Formularfeld?
Tja lieber Booyeoo, jetzt musst Du Dich entscheiden: möchtest Du
- dem Erben den Textinhalt von Me.Login zuweisen (dann willst Du nämlich lieber Me.Login.value verwenden),
- den Erben auf denselben Speicher verweisen wie Me.Login (dann musst Du Erben als denselben Typ deklarieren wie Me.Login und bei der Zuweisung noch ein SET davorschreiben) oder
- uns mehr Details geben. Vielleicht unterstützt Deine Umgebung gar nicht den vollen VB-Umfang?
Antwort 3 von Booyeoo vom 18.06.2019, 15:00 Options
Hmm, dann entscheide ich mich mal für A)
... mit dem Ergebniss dass es nicht funktionierte.. .:-/
..aber dann habe ich den 50/50-Joker genommen und in der Hilfe nachgeschaut und siehe da, ich musste die Variable einfach nochmal in Klammern packen, also:
Call Inherit_Licence((Erber))
und es geht jetzt.
Danke für die Hilfe Herr Jauch ;-)
Grüße
Booyeoo