Inhalt von Userform1 per button click in userform2 kopieren?
Der Titel sagt glaube ich schon alles
Die userform2 hat die gleichen Textfelder usw
2 Antworten
Du kannst doch über Children abfragen, wieviele Kinder das Form hat. Und die Child-Option sollte dir bei der Iteration helfen, so dass du durch alle Elemente durchgeben und die Inhalte in deren Entsprechungen auf dem Form2 schreiben kannst.
Geh mit ner for-schleife due Kinder von Form1 durch, hol dir die Namen der Elemente und schreib den Inhal tauf die Form2. Damit das klappt müssen die Elemente auch gleich heißen.
Vom Prinzip her:
Userform2.txt1.Value = Userform1.txt1.Value
oder .Text, je nachdem, wie auf den Inhalt zugegriffen werden kann.
(ungetestet)
Hast du denn beide Forms offen?
Wenn eine Form geschlossen ist, bin ich mir nicht sicher, ob du auf deren Elemente zugreifen kannst.
Ich würde beide Forms sicherheitshalber auf Modal = False setzen.
Ich gebe mal zwei getestete Beispiele fürs Kopieren. Einmal werden die Inhalte der Textboxen einzeln kopiert, einmal in einer Schleife.
Die Schleife ist zwar komfortabler, dafür aber fehleranfälliger. Sie lohnt sich nur bei Massen an Feldern.
Private Sub btnKopieren_Click() KopiereEinzeln KopiereSchleife UserForm2.Show End Sub
Private Sub KopiereEinzeln() UserForm2.txt1.Value = UserForm1.txt1.Value UserForm2.txt2.Value = UserForm1.txt2.Value End Sub
Sub KopiereSchleife() Dim ctrl As Control For Each ctrl In UserForm1.Controls If Left(ctrl.Name, 3) = "txt" Then _ UserForm2.Controls(ctrl.Name).Value = ctrl.Value Next End Sub
Bitte was ? 😳