VBA von Modul auf UserForm zurück greifen?

Hallo Leute,

Habe eine Userform mit den Namen

„Von_Bis“

Mit einer Checkbox in der Userform
Ich rufe mit ein Klick auf die Checkbox ein Makro auf und über gebe ich den Namen der Userform den aufgerufenen Makro. Mit der Unten stehen Routine

Private Sub CheckBox404_Click()
   Dim UFName As String
   UFName = Me.Name
   Call Makro1(UFName)
End Sub

Mit den Unten stehen makro in ein Modul stehend, möchte ich in der Userform liegenden
TextBox den eingetragenen wert aus lesen

Public Function Makro1(UFName)

   Dim User As UserForm
   Set User = UFName

   User.Controls("TextBox1" ).Value

End Function
```

Leider gibt der Script

Laufzeitfehler 424
Objekt erforderlich

Bei „Set User = UFName“ aus

Nun meine Frage.

Wie sollte User Deklariert werden das der Fehler nicht mehr auftritt?

Danke Fred

p.s. Schöne Feiertage

Hallo,

da liegt ein grundlegender Fehler vor.

In der Variable UFName steht der Name des Formulars.
Set User = … erwartet ein Objekt des Types UserForm.
Und „User.Controls(„TextBox1“ ).Value“ muss irgend einer Variabeln zugewiesen werden

Ändere deine Funktion in

Public Function Makro1(ByRef UFName as UserForm) as String
     "irgendwas" = Me("TextBox1").Value
End Function

Deinen Aufruf in
Call Makro1(Me)

Hope this helps

Peter

Upps Fehler die Zeile in der Function muss sein:

"irgendwas" = UFname("TextBox1").Value
Public Function Makro1(ByRef UFName as UserForm) as String
     "irgendwas" = UFName("TextBox1").Value
End Function

Das war’s was ich gesucht habe.

Besten Dank für die schnelle Antwort.

Schöne Feiertage