ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
712
712
EMPFEHLEN
-
27.10.09 12:55 #1
- Registriert seit
- Sep 2008
- Beiträge
- 96
Hallo zusammen!
ich möchte eine 4-spaltige ListBox sortieren und habe auch einen Code bereit.
Allerding kommt immer die Fehlermeldung:
Laufzeitfehler 94 - Unzulässige Verwendung von Null.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Sub listboxen_sortieren(lngUgrenze As Long, lngOgrenze As Long) Dim lngIndex1 As Long, lngIndex2 As Long, strElement As String Dim strZwischenspeicher As String, bytIndex As Byte lngIndex1 = lngUgrenze lngIndex2 = lngOgrenze strZwischenspeicher = UserForm5.ListBox7.List(Fix((lngUgrenze + lngOgrenze) / 2), 0) Do Do While UserForm5.ListBox7.List(lngIndex1, 0) < strZwischenspeicher lngIndex1 = lngIndex1 + 1 Loop Do While strZwischenspeicher < UserForm5.ListBox7.List(lngIndex2, 0) lngIndex2 = lngIndex2 - 1 Loop If lngIndex1 <= lngIndex2 Then For bytIndex = 0 To 5 strElement = UserForm5.ListBox7.List(lngIndex1, bytIndex) UserForm5.ListBox7.List(lngIndex1, bytIndex) = UserForm5.ListBox7.List(lngIndex2, bytIndex) UserForm5.ListBox7.List(lngIndex2, bytIndex) = strElement Next lngIndex1 = lngIndex1 + 1 lngIndex2 = lngIndex2 - 1 End If Loop Until lngIndex1 > lngIndex2 If lngUgrenze < lngIndex2 Then Call listboxen_sortieren(lngUgrenze, lngIndex2) If lngIndex1 < lngOgrenze Then Call listboxen_sortieren(lngIndex1, lngOgrenze) End Sub
Aufgerufen wird mittels
Code :1
Call listboxen_sortieren(0, UserForm5.ListBox7.ListCount - 1)
Der Fehler kommt in folgender Zeile:
Code :1
strElement = UserForm5.ListBox7.List(lngIndex1, bytIndex)
Hat vielleicht jemand eine Idee? Das wäre super!
Grüße Outi
-
Das liegt daran, dass die entsprechende Zelle der Listbox leer ist. Und leer heißt nicht Leerzeichen, sondern Null.
Du kannst das abfangen, in dem Du die Zelle auf Null prüfst:
Code :1 2 3
If Not IsNull( UserForm5.ListBox7.List(lngIndex1, bytIndex)) Then strElement = UserForm5.ListBox7.List(lngIndex1, bytIndex) End If
Nur tote Fische schwimmen mit dem Strom.
-
27.10.09 16:24 #3
- Registriert seit
- Sep 2008
- Beiträge
- 96
Oh stimmt. Jetzt wo Du es sagst, fällt mir auf, dass in der LB in der betreffenden Spalte nichts steht.
Danke für die schnelle Hilfe! Da fällt mir noch eine Frage zu dem Thema ein:
wenn ich die Sub mehrmals hintereinander laufen lasse für 6 verschiedene ListBoxen (mit entsprechenden Änderungen des Codes), kommt die Fehlermeldung:
Nicht genügend Stapelspeicher. Kannst Du mir sagen, was das bedeutet und wie ich das verhindern kann?
Gruß Outi
Nachtrag: also was es beudeutet, hab ich mir eben mal durchgelesen. Komisch ist nur, dass die Fehlermeldung nicht erscheint, wenn ich das
in einer anderen Test-File ausprobiere. Dort läuft es ohne Probleme für alle 6 ListBoxen durch.Geändert von Outsider77 (28.10.09 um 09:45 Uhr)
-
28.10.09 10:10 #4
Nich genügend Stapelspeicher bedeutet in der Regel das du eine Endlosschleife gebaut hast.
D.h. deine Schleife kommt nie zum Ende.Allen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz)
Ähnliche Themen
-
2 spaltige Tabelle mit CSS ersetzen
Von Necro_nomicon im Forum CSSAntworten: 16Letzter Beitrag: 22.04.10, 10:33 -
ListBox- Einträge sortieren
Von Outsider77 im Forum Visual Basic 6.0Antworten: 6Letzter Beitrag: 07.10.08, 16:35 -
2-spaltige Ausgabe von DB-Inhalten
Von dwex im Forum PHPAntworten: 2Letzter Beitrag: 14.09.05, 18:30 -
ListBox sortieren=?
Von zioProduct im Forum .NET CaféAntworten: 19Letzter Beitrag: 14.09.05, 11:53 -
ListBox unter Compact Framework .NET sortieren
Von D18 im Forum .NET ArchivAntworten: 0Letzter Beitrag: 20.11.04, 13:01





Zitieren
Login





