Mittels Userform große Excelliste modifiziert teilen

Hallo Excelperten! :smile:
Ich bin mal wieder an einem kleineren größeren Projekt beschäftigt, womit ich mir (und meinen Vertretungen!) die Arbeit etwas erleichtern möchte.

Problem:
Wir bekommen immmer unterschiedliche (!!) Excellisten mit mehreren tausend Einträgen (Zeilen).
Auch die Spalten sind immer unterschiedlich.

Für diese Listen habe ich mir immer ein Makro entsprechend angepasst. Allerdings kriegen meine Kollegen hier das nicht wirklich hin und da kam mir eine eigentlich einfache Idee, die aber in der Umsetzung doch relativ schwierig zu sein scheint.

Meine Vorstellung was ich gerne hätte:

Auf einen Button öffnet sich eine Userform, welche folgenden Inhalt haben sollte:

Auflistung der gesamten Spaltenüberschriften (sind maximal 25) - am besten in 5 Spalten untereinander, jeweils mit einer Checkbox versehen.

Dann ein Dropdownmenue, welches sich ebenfalls mit den Spaltenüberschriften füllt

ein Eingabefeld, wo man die Größe der Teillisten einträgt und

ein Feld, wo der Speicherort angegeben werden soll (gerne mittels Abfrage)

Durch die Checkboxen möchte ich auswählen welche Spalten überhaupt benötigt werden (also nicht abgehakte Spalten sollen gelöscht werden)
Die Spalte, welche in dem Dropdownmenue ausgewählt wird, soll zum Sortieren genutzt werden

Die EIngabe der Menge der Einträge für die gestückelten Listen und den Speciherort dürfte klar sein.

Wenn nun auf OK geklickt wird soll folgendes passieren:

Alle Spalten außer die ausgewählten sollen gelöscht werden
In derim DropDownmenue ausgewählte Spalte soll eine aufsteigende Sortierung erfolgen und
es sollen nun neue Listen erzeugt werden, wo die Überschriften übernommen werden und dann die Anzahl der eingetragenen Zeilen rüber kopiert werden.
Anschließend dann das Speichern am gewählten Ort.

Ich hoffe ich habe das verständlich erklärt und bin für jeden Tipp dankbar (besonders das Problem mit den Checkboxen krieg ich nicht geknackt)

Schonmal vielen Dank im Voraus

René

Hallo,

es komplett zu programmieren würde m.E. den Rahmen eines Forums sprengen, aber vielleicht ist eine Multiselect-ListBox eine Möglichkeit, das Problem mit den Checkboxen zu lösen. Zum Testen, in einer Userform eine Listbox einfügen und den Beispielcode hier:

Private Sub UserForm_Initialize()
  
  ListBox1.ListStyle = fmListStyleOption
  ListBox1.MultiSelect = fmMultiSelectMulti
  
  ListBox1.AddItem "Hallo"
  ListBox1.AddItem "Welt"
  
End Sub

Zum Abfragen der ausgewählten Einträge, kannst Du eine Schleife verwenden:

  Dim n As Long
  
  For n = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(n) Then
      MsgBox ListBox1.List(n, 0)
    End If
  Next

Gruß