Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Werte in eine ComboBox einer UserForm übernehmen

Gruppe

ComboBox

Problem

Wie kann ich eine Liste von Werten ohne Berücksichtigung der Leerzellen und ohne doppelte Werte in eine UserForm-ComboBox einlesen?

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

ClassModule: frmColumnA

Private Sub cmdContinue_Click()
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   Dim rng As Range
   Set rng = Columns(1)
   Application.ScreenUpdating = False
   Workbooks.Add 1
   rng.Copy Columns(1)
   Columns(1).AdvancedFilter _
      Action:=xlFilterCopy, _
      CopyToRange:=Range("B1"), _
      Unique:=True
   Columns(1).Delete
   Columns(1).Sort _
      Key1:=Range("A2"), Order1:=xlAscending, _
      Header:=xlYes, OrderCustom:=1, _
      MatchCase:=False, Orientation:=xlTopToBottom
   Rows(1).Delete
   cboColumnA.List = Range("A1").CurrentRegion.Value
   ActiveWorkbook.Close savechanges:=False
   Range("A1").Select
   Application.ScreenUpdating = True
End Sub

StandardModule: Modul1

Sub CallForm()
   frmColumnA.Show
End Sub