tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
712
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Outsider77 Outsider77 ist offline Mitglied Silber
    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
     

  2. #2
    ronaldh ronaldh ist offline Mitglied Brillant
    Registriert seit
    Apr 2007
    Ort
    Hannover
    Beiträge
    912
    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.

  3. #3
    Outsider77 Outsider77 ist offline Mitglied Silber
    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)
     

  4. #4
    Avatar von mage
    mage mage ist offline Mitglied Platin
    Registriert seit
    May 2002
    Ort
    Berliner Speckgürtel
    Beiträge
    707
    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

  1. 2 spaltige Tabelle mit CSS ersetzen
    Von Necro_nomicon im Forum CSS
    Antworten: 16
    Letzter Beitrag: 22.04.10, 10:33
  2. ListBox- Einträge sortieren
    Von Outsider77 im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 07.10.08, 16:35
  3. 2-spaltige Ausgabe von DB-Inhalten
    Von dwex im Forum PHP
    Antworten: 2
    Letzter Beitrag: 14.09.05, 18:30
  4. ListBox sortieren=?
    Von zioProduct im Forum .NET Café
    Antworten: 19
    Letzter Beitrag: 14.09.05, 11:53
  5. ListBox unter Compact Framework .NET sortieren
    Von D18 im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 20.11.04, 13:01