Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Laufzeifehler

Betrifft: Laufzeifehler von: Blacky
Geschrieben am: 18.08.2004 09:03:53

Hallo Leute,
ich hab da ein Kleines Problem und zwar sortiere ich Worksheets in verschiedene Listboxen ein und beim ersten Klapts bei der zweiten Listbox Kommt immer Laufzeifehler'5'. Hier ist mein Code:

Private Sub ListBox1_Click()
    Dim wks1 As Worksheet
    Dim s1 As Integer
    Dim a1 As Integer
    s1 = 1
    For Each wks1 In Worksheets
        If s1 = 3 Or s1 = 4 Or s1 = 5 Or s1 = 7 Or s1 = 8 Or s1 = 9 Or s1 = 10 Then
            ListBox1.AddItem wks1.name, a1
            a1 = a1 + 1
        End If
        s1 = s1 + 1
        If a1 > 7 Then
            ListBox1.Clear
        End If
    Next wks1
End Sub


Private Sub ListBox2_Click()
    Dim wks2 As Worksheet
    Dim s2 As Integer
    Dim a2 As Integer
    s2 = 1
    For Each wks2 In Worksheets
        If s2 = 23 Or s2 = 16 Or s2 = 13 Or s2 = 20 Or s2 = 22 Or s2 = 19 Or s2 = 18 Or s2 = 106 Or s2 = 107 Or s2 = 21 Or s2 = 108 Or s2 = 14 Or s2 = 12 Or s2 = 24 Or s2 = 17 Or s2 = 15 Then
            ListBox2.AddItem wks2.name, a2
            a2 = a2 + 1
        End If
        s2 = s2 + 1
        If a2 > 7 Then
            ListBox2.Clear
        End If
    Next wks2
End Sub

Wenn ich alle Variablen gleich benene kommt der Fehler auch.
Gruß Blacky
  


Betrifft: AW: Laufzeifehler von: FloGo
Geschrieben am: 22.08.2004 11:30:31

Hallo Blacky

Wo tritt der Fehler auf, in welcher Zeile?!
Du kannst den Code schrittweise mit F8 durchgehen!

FloGo


  


Betrifft: AW: Laufzeifehler von: nighty
Geschrieben am: 22.08.2004 11:45:38

hi blacky :)

probier es mal so :)

gruss nighty

Private Sub ListBox2_Click()
    DeinMakro
End Sub


Private DeinMakro()
Dim wks2 As Worksheet
Dim s2 As Integer
Dim a2 As Integer
s2 = 1
For Each wks2 In Worksheets
If s2 = 23 Or s2 = 16 Or s2 = 13 Or s2 = 20 Or s2 = 22 Or s2 = 19 Or s2 = 18 Or s2 = 106 Or s2 = 107 Or s2 = 21 Or s2 = 108 Or s2 = 14 Or s2 = 12 Or s2 = 24 Or s2 = 17 Or s2 = 15 Then
ListBox2.AddItem wks2.name, a2
a2 = a2 + 1
End If
s2 = s2 + 1
If a2 > 7 Then
ListBox2.Clear
End If
Next wks2
End Sub