Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wie erkennt die UDF das aufzurufende Controlelement?
#1
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?
Antworten Top
#2
Hallo,

gebe das Element der Funktion mit.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
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.
Antworten Top
#4
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
Antworten Top
#5
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)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste