HERBERS Excel-Forum - die Dialoge

Thema: Ohne Leere und Doppelte einlesen

Home
Die Werte aus Spalte A werden ohne Berücksichtigung der Leerzellen und ohne doppelte Werte in die ComboBox eingelesen. Ohne Leere und Doppelte einlesen
  • Prozedur: UserForm_Initialize
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Ohne Leere und Doppelte einlesen
  • Ablaufbeschreibung:
    • Variablendeklaration
    • Spalte A an eine Objekt-Variable übergeben
    • Bildschirmaktualisierung ausschalten
    • Arbeitsmappe mit einem Arbeitsblatt hinzufügen
    • Aus der ersten Arbeitsmappe Spalte A in die neue Arbeitsmappe kopieren
    • Spezialfilter mit den Parametern, dass in Spalte B die Werte ohne Doppelte gefiltert werden, setzen
    • Spalte A löschen
    • Spalte A sortieren
    • Zeile 1 (Kopfzeile) löschen
    • Werte aus Spalte A in ComboBox einlesen
    • Temporäre Arbeitsmappe ohne speichern schießen
    • Zelle A1 in erster Arbeitsmappe auswählen
    • Bildschirmaktualisierung einschalten
  • Code:

    
    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