Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Programmsteuerung für mehrere aufrufende UserForms

Gruppe

UserForm

Problem

Wie kann ich ein von mehreren UserForms aufzurufendes Programm je nach aufrufender Form verzweigen?

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

ClassModule: frmDrei

Private Sub cmdEintragen_Click()
   Call DatenEintragen(Me)
End Sub

Private Sub cmdWeiter_Click()
   Unload Me
End Sub

ClassModule: frmEins

Private Sub cmdEintragen_Click()
   Call DatenEintragen(Me)
End Sub

Private Sub cmdWeiter_Click()
   Unload Me
End Sub

ClassModule: frmZwei

Private Sub cmdEintragen_Click()
   Call DatenEintragen(Me)
End Sub

Private Sub cmdWeiter_Click()
   Unload Me
End Sub

StandardModule: basMain

Sub DatenEintragen(frm)
   Dim iCounter As Integer, intCol As Integer
   Select Case frm.Name
      Case "frmEins": intCol = 1
      Case "frmZwei": intCol = 2
      Case "frmDrei": intCol = 3
   End Select
   For iCounter = 1 To 3
      frm.Controls("TextBox" & iCounter).Text = _
         Cells(iCounter, intCol)
   Next iCounter
End Sub

Sub AufrufFormA()
   frmEins.Show
End Sub

Sub AufrufFormB()
   frmZwei.Show
End Sub

Sub AufrufFormC()
   frmDrei.Show
End Sub