Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Mehrspaltige ComboBox

Gruppe

ComboBox

Problem

Wie kann ich eine mehrspaltige ComboBox mit Werten füllen und nach dem Aufruf die ausgewählte Zeile auslesen?

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

StandardModule: basMain

Sub GebundeneComboBox()
   With frmMehrspaltig
      With .cboColumns
         .RowSource = _
         ActiveSheet.Name & "!" & Range("A1") _
         .CurrentRegion.Address
         .ListIndex = 0
      End With
      .Show
   End With
End Sub

Sub FreieComboBox()
   With frmMehrspaltig
      With .cboColumns
         .List = Range("A1").CurrentRegion.Value
         .ListIndex = 0
      End With
      .Show
   End With
End Sub

ClassModule: frmMehrspaltig

Private Sub cmdContinue_Click()
   Unload Me
End Sub

Private Sub cmdValues_Click()
   Dim iCounter As Integer
   Dim sMsg As String
   For iCounter = 0 To 2
      With cboColumns
         sMsg = sMsg & "Spalte " & iCounter + 1 & ": " & _
            .List(.ListIndex, iCounter) & vbLf
      End With
   Next iCounter
   MsgBox sMsg
End Sub