Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
per VBA eine ListBox füllen
10.03.2009 08:50:59
Peter
Guten Morgen!
Dank der freundlichen Unterstützung von Tino konnte ich meine Datei bis hierher erstellen.
Ich habe folgendes Problem:
Wenn über die Userform Daten eingegeben werden, werden diese einmal in die Seite Gesamt geschrieben und dann noch in die Seite des ausgewählten Verein.
Ich möchte nun das die Einträge aus der Tabelle Gesamt auch in der ListBox in der Userform eingetragen werden ( nur Name und Vorname ). Schön wäre es, wenn alphabetisch sortiert.
Nach jeden neuen Eintrag oder Änderung oder Löschung soll eine Aktualisierung erfolgen.
https://www.herber.de/bbs/user/60150.xls
Danke für eure Bemühungen...
mfg

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per VBA eine ListBox füllen
10.03.2009 09:09:56
Tino
Hallo,
das kannst Du so machen.
Ins UserForm_Initialize Ereignis der Userform
Dim sArray
With Sheets("Gesamt")
 sArray = .Range("B2", .Cells(.Rows.Count, 3).End(xlUp))
End With
sArray = QuickSort(sArray, Lbound(sArray), Ubound(sArray), 1)
Namenliste.ColumnCount = Ubound(sArray, 2)
Namenliste.List = sArray


In ein Modul.

Function QuickSort(ByVal sArray As Variant, MinElem As Long, MaxElem As Long, lngCol As Long)
Dim Mitte As Long
Dim vDummy As Variant
Dim i As Long, j As Long, A As Long
    If MinElem > MaxElem Then
     Exit Function
    End If
    Mitte = (MinElem + MaxElem) \ 2
    i = MinElem
    j = MaxElem
    Do

        Do While sArray(i, lngCol) < sArray(Mitte, lngCol)
            i = i + 1
        Loop

        Do While sArray(j, lngCol) > sArray(Mitte, lngCol)
            j = j - 1
        Loop
 
        If i <= j Then
          For A = 1 To Ubound(sArray, 2)
            vDummy = sArray(j, A)
            sArray(j, A) = sArray(i, A)
            sArray(i, A) = vDummy
          Next A
            i = i + 1
            j = j - 1
        End If
 
    Loop Until i > j
    QuickSort = sArray
    QuickSort sArray, MinElem, j, lngCol
    QuickSort sArray, i, MaxElem, lngCol
    
End Function


Gruß Tino

Anzeige
AW: per VBA eine ListBox füllen
10.03.2009 09:21:46
Peter
Hallo schön wieder von dir zu "hören"!
Ich bekomme es leider nicht hin. Eine Fehlermeldung jagd die andere.
An welcher Stelle muss der Code eingefügt werden und muss das Modul einen bestimmten Namen haben?
Danke für deine Geduld und Ausdauer...
mfg
Aktualisierung & Sortierung
10.03.2009 09:39:00
Peter
Danke für die Datei. Die Funktionalität ist die gleiche. Wenn Neu gedrückt wird, wird die ListBox nicht aktualisiert und die Sortierung funktioniert nicht richtig.
mfg
Anzeige
Super danke !
10.03.2009 10:15:05
Peter
An dieser Stelle noch einmal danke für deine Geduld.
mfg
AW: @Tino
10.03.2009 13:06:46
Peter
Hej Tino,
ich glaube QuickSort, wie du ihn hier verwendest, kann kein mehrdimensionales Array sortieren.
Sieh dir bitte einmal meine Test-Mappe an - der Meier steht an falscher Stelle.
https://www.herber.de/bbs/user/60165.xls
Gruß Peter
Anzeige
AW: jetzt gehts.
10.03.2009 14:42:00
Peter
Hej Tino,
das sieht gut aus.
Gruß Peter
Funktioniert mit Fehler
10.03.2009 09:33:12
Peter
Hallo ich noch einmal !
Habe wie beschrieben den Code eingefügt und ein Modul angelegt.
Die Einträge werden in die Liste übernommen beim start der Userform. Die Sortierung funktioniert leider nicht richtig. Wenn ein neuer angelegt wird und der Button Neu gedrückt wird, werden zwar die Daten in die Tabellen geschrieben aber nicht in die Listbox. Drücke ich den Button Neu moch einmal kommt die Fehlermeldung das alle Felder gefüllt werden müssen und dann wird die Liste in der Listbox aktualisiert aber auch ohne alphabetische Sortierung.
https://www.herber.de/bbs/user/60155.xls
Danke für deine Geduld...
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige