HERBERS Excel-Forum - die Dialoge

Thema: Gebundene und ungebundene ComboBox

Home
Eine ComboBox wird wahlweise als gebundenes oder freies Steuerelement gefüllt. Auf Schaltflächen-Klick werden die ausgewählten Werte ausgelesen. Gebundene und ungebundene ComboBox
  • Prozedur:
  • Art: Sub
  • Modul: Standardmodul
  • Zweck: Ungebundene ComboBox
  • Ablaufbeschreibung:
    • Rahmen um das UserForm-Objekt bilden
    • Rahmen um das ComboBox-Objekt bilden
    • Die KomboBox mit Tabellenblattbereichswerten füllen
    • 1. Element der ComboBox auswählen
    • ComboBox anzeigen
  • Code:

    
    Sub FreieComboBox()
       With frmMehrspaltig
          With .cboColumns
             .List = Range("A1").CurrentRegion.Value
             .ListIndex = 0
          End With
          .Show
       End With
    End Sub
    
  • Prozedur: GebundeneComboBox
  • Art: Sub
  • Modul: Standardmodul
  • Zweck: Gebundene ComboBox
  • Ablaufbeschreibung:
    • Rahmen um das UserForm-Objekt bilden
    • Rahmen um das ComboBox-Objekt bilden
    • Die KomboBox den Quellbereich zuweisen
    • 1. Element der ComboBox auswählen
    • ComboBox anzeigen
  • Code:

    
    Sub GebundeneComboBox()
       With frmMehrspaltig
          With .cboColumns
             .RowSource = _
             ActiveSheet.Name & "!" & Range("A1") _
                .CurrentRegion.Address
             .ListIndex = 0
          End With
          .Show
       End With
    End Sub
    
  • Prozedur: cmdValues_Click
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Ausgewählten Daten satz melden
  • Ablaufbeschreibung:
    • Variablendeklaration
    • Schleife über die Spalten bilden
    • Rahmen um das ComboBox-Objekt bilden
    • Datensatz in die String-Variable mit dem Ausgabetext schreiben
    • Datensatz melden
  • Code:

    
    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