Inhalt von Userform1 per button click in userform2 kopieren?

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.


augsburgchris  05.07.2017, 10:32

Hier geht es um 2 Userforms und Unterseiten einer Userform.

0
pawilooon 
Beitragsersteller
 05.07.2017, 10:07

Bitte was ? 😳

0
rikks  05.07.2017, 10:10
@pawilooon

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.

0

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?


pawilooon 
Beitragsersteller
 05.07.2017, 10:06

Beide sind offen wieso?

0
Suboptimierer  05.07.2017, 10:15
@pawilooon

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.

0
Suboptimierer  05.07.2017, 10:17
@pawilooon

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
1