Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
748to752
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
748to752
748to752
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

List() wird nicht mit Array befüllt, warum ?

List() wird nicht mit Array befüllt, warum ?
01.04.2006 12:10:54
Peter
Servus,
mal ne Frage. Ich habe in untem stehenden Code eine befüllte Listbox9.
Nach klick auf diese wird im passenden Ereignis, eine weitere Listbox10 mit diesem Wert gefüllt. Soweit kein Problem.
Allerdings soll dieser Wert in der Listbox9 nach klick nicht mehr aufgelistet sein. Also befülle ich einen Array mit allen Werten der Listbox9 bis auf den geklickten. Auch kein Problem.
Nur lässt sich leider die Listbox nicht mehr befüllen.
Es kommt kein Fehler, sondern die Listbox9 ist einfach leer (nach Clear) obwohl der Array voll ist, warum ?
Sitze seit gestern Abend an dem Prob und wäre für Hilfe echt dankbar.


'Codeauszug
    'Bereits vergebene Werte streichen
    With Me.ListBox9
        ReDim ListArr(0 To .ListCount - 1, 0 To 2)
        For intZ = 0 To .ListCount - 1
            If intZ <> .ListIndex Then
                ListArr(arrZ, 0) = .List(intZ, 0)
                ListArr(arrZ, 1) = .List(intZ, 1)
                ListArr(arrZ, 2) = .List(intZ, 2)
                arrZ = arrZ + 1
            End If
        Next
        .Clear
        'Funktioniert nicht, warum ?
        .List() = ListArr
        'Zum Testen funktioniert einwandfrei, Array ist also voll !
        Sheets("Test").Range("A1:C" & .ListCount) = ListArr
    End With


MfG Peter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: List() wird nicht mit Array befüllt, warum ?
01.04.2006 12:16:38
Peter
Hallo Peter,
lass mal die () hinter .List weg. Ich meine, das sollte es sein.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: List() wird nicht mit Array befüllt, warum ?
01.04.2006 12:22:06
Peter
Servus Peter,
nein leider nicht Listbox9 bleibt auch dann leer, noch ne Idee?
Mir fällt nichts mehr ein :-( .
MfG Peter
AW: List() wird nicht mit Array befüllt, warum ?
ransi
Hallo
Hatte neulich das gleiche problem
versuch mal:
.Clear
.additem
'Funktioniert nicht, warum ?
.List() = ListArr
'Zum Testen funktioniert einwandfrei, Array ist also voll !
Sheets("Test").Range("A1:C" & .ListCount) = ListArr
End With
ransi
Anzeige
AW: List() wird nicht mit Array befüllt, warum ?
01.04.2006 12:46:58
Peter
Servus ransi,
danke, hat aber auch nicht funktioniert.
Das Merkwürdige dabei ist obwohl die LB augenscheinlich leer ist, gibt mir
MsgBox .ListCount 25 aus ?
Ich begreifs irgendwie nicht mehr.
MfG Peter
AW: List() wird nicht mit Array befüllt, warum ?
01.04.2006 13:50:54
Peter
Servus,
hab jetzt mal getestet was mit folgenden Zeile im Direktbereich steht
For intZ = 0 To Me.ListBox9.ListCount - 1
Debug.Print Me.ListBox9.List(intZ, 0) & " / " & Me.ListBox9.List(intZ, 1) & " / " & Me.ListBox9.List(intZ, 2)
Next

Alle Infos sauber aufgelistet, die LB ist aber leer. Warum denn nur ?
MfG Peter
Anzeige
AW: List() wird nicht mit Array befüllt, warum ?
01.04.2006 14:00:55
Nepumuk
Hallo Peter,
ich bin jetzt zu faul, dass ganze nachzubauen, aber bei mir funktioniert das so:
Private Sub UserForm_Activate()
    Dim strArray() As String
    Dim intRow As Integer, intColumn As Integer
    For intRow = 0 To 49
        Redim Preserve strArray(29, intRow)
        For intColumn = 0 To 29
            strArray(intColumn, intRow) = CStr(intColumn) & " / " & CStr(intRow)
        Next
    Next
    With ListBox1
        .ColumnCount = 30
        .List = WorksheetFunction.Transpose(strArray)
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: List() wird nicht mit Array befüllt, warum ?
01.04.2006 14:16:10
Peter
Hallo Peter,
ich habe dein Beispiel nachgebaut und bei mir läuft dein Makro fehlerfrei.
Mein Tipp: Schließ Excel, öffne es neu - manchmal hakt Excel eben ein wenig.

Private Sub CommandButton1_Click()
Dim ListArr()
Dim intZ       As Integer
Dim ArrZ       As Integer
With Me.ListBox1
ReDim ListArr(0 To .ListCount - 1, 0 To 2)
For intZ = 0 To .ListCount - 1
If intZ <> .ListIndex Then
ListArr(ArrZ, 0) = .List(intZ, 0)
ListArr(ArrZ, 1) = .List(intZ, 1)
ListArr(ArrZ, 2) = .List(intZ, 2)
ArrZ = ArrZ + 1
End If
Next
.Clear
'Funktioniert nicht, warum ?
.List() = ListArr
'Zum Testen funktioniert einwandfrei, Array ist also voll !
Sheets("Tabelle3").Range("A1:C" & .ListCount) = ListArr
End With
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: List() wird nicht mit Array befüllt, warum ?
01.04.2006 14:30:34
Peter
Servus Peter, Servus Max,
danke für eure Antworten, hat leider beides nicht funktioniert.
@Peter: das hab ich gestern schon probiert, bin wirklich ratlos, hab die Syntax ja in der selben Datei zigmal im Einsatz, verstehs einfach nicht.
@Max: Danke auch für deine Hilfe, Transpose bringt mir in dem Fall nicht, da die Daten im Array ja richtig eingelesen werden und auch in die Listbox wie mein Test mit Debug.Print gezeigt hat, nur die LB zeigt halt nicht an.
Hab dir mal ne E-Mail geschickt, vieleicht kannst du bei 2 Min. Zeit nochmal drüberschauen, ansonsten lösch Sie.
Danke nochmal an alle.
MfG Peter
Anzeige
die Lösung fürs Archiv
03.04.2006 20:55:08
Peter
Servus,
grundsätzlich war die Syntax vollkommen richtig, nur in dem Ereignis hat Sie nicht funktioniert.
Deshalb habe ich eine Boolean Variable hinzugefügt und die Befüllung der Listbox in das Afterupdate Ereignis gepackt.
Jetzt funktioniert das ganze tadellos, aber k.a. warum.
MfG Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige