Registriert seit: 24.05.2016
Version(en): 2007
Hallo liebe Leute,
ich bastle mal wieder etwas mit VBA herum. In meiner Userform möchte ich einige Funktionen integrieren, die von
den verschiedensten Controlelementen aufgerufen werden können. Wie kann ich jetzt aber in der selbstgeschriebenen
Funktion erkennen, dass sie z.B. von der Textbox1 aufgerufen wurde und nicht von der Textbox2?
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
gebe das Element der Funktion mit.
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 24.05.2016
Version(en): 2007
Hallo Stefan,
danke für deine Antwort. Aber genau das ist ja das Problem. Ich weiß nicht wie man die einzelnen verschiedenen Controlelemente einer Funktion übergibt.
Ich kenne z.B. so etwas: Me.Controls("TextBox" & CStr(ix)) mit ix einer beliebigen Integer-Zahl, die dann die entsprechende Textbox spezifiziert.
Da ich nun nicht lange in der Literatur herumsuchen möchte, gebt mir bitte ein paar konkrete Beispiele zur Veranschaulichung.
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
ich hoffe, das eine Beispiel reicht.
Code:
Private Sub TextBox1_Change()
MsgBox fncAusgabe(TextBox1)
End Sub
Private Sub TextBox2_Change()
MsgBox fncAusgabe(TextBox2)
End Sub
Function fncAusgabe(objElement As Object) As String
fncAusgabe = "In die " & objElement.Name & " wurde " & IIf(IsNumeric(objElement), "", "k") & "eine Zahl eingegeben."
End Function
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
nur zur Ergänzung. Falls jemand z.B. Forumlarsteuerelemente verwendet, kann man den "Aufrufer" mit Application.Caller ermitteln.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)