Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Adresstabelle in UserForm einlesen und in Adressfeld ausgeben

Gruppe

ComboBox

Problem

Wie kann ich eine Tabelle mit Adressen in eine UserForm-ComboBox einlesen und von dort in Adressfelder ausgeben lassen? Neue Adressen sollen aufgenommen werden können.

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

ClassModule: frmSuchen

Private Sub cmdNeu_Click()
   Dim iRow As Integer, iCol As Integer
   With Worksheets("Daten")
      iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      For iCol = 1 To 5
      .Cells(iRow, iCol) = Controls("TextBox" & iCol).Text
      Next iCol
   End With
End Sub

Private Sub ComboBox1_Change()
   Dim iCounter As Integer
   For iCounter = 1 To 5
      Controls("TextBox" & iCounter).Text = _
         Worksheets("Daten").Cells(ComboBox1.ListIndex + 2, iCounter)
   Next iCounter
End Sub

Private Sub CommandButton1_Click()
   Range("A12") = TextBox2.Text & " " & TextBox1.Text
   Range("A13") = TextBox3.Text
   Range("A15") = TextBox4.Text & " " & TextBox5.Text
   Unload Me
End Sub

Private Sub CommandButton2_Click()
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   With Worksheets("Daten")
      ComboBox1.List = _
         .Range(.Cells(2, 1), .Cells( _
         .UsedRange.Rows.Count, 1)).Value
   End With
End Sub

StandardModule: basMain

Sub CallForm()
   frmSuchen.Show
End Sub