Office: Array durch Listbox füllen

Helfe beim Thema Array durch Listbox füllen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Morgen Leute, habe mal wieder ein Problem mit einem Array. Bekomme es irgendwie nicht gebacken zu verstehen wie ich ein Array am Anfang und... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von DubWay, 20. März 2016.

  1. Array durch Listbox füllen


    Guten Morgen Leute,
    habe mal wieder ein Problem mit einem Array.
    Bekomme es irgendwie nicht gebacken zu verstehen wie ich ein Array am Anfang und während des fortlaufenden Makros richtig dimensioniere.

    Code:
    Hier ein Ausschnitt meines bisherigen Codes. Dabei überprüfe ich, welche Daten der Listbox ausgewählt wurden und möchte diese in ein Array schreiben. Jedoch kommt beim hervorgehobenen Codeabschnitt die Fehlermeldung, dass das Array bereits dimensioniert ist.

    Dabei dachte ich, dass ich das Array jedesmal, wenn ein Listbox-Element ausgewählt wurde um 1 erhöht wird. Leider funktioniert das nicht so ganz :8

    Hoffe mir kann da jemand helfen.

    Bei Bedarf lade ich eine Beispieldatei hoch

    Danke im Voraus

    Gruß Carsten

    :)
     
    DubWay, 20. März 2016
    #1
  2. Moin,

    da stellt sich die Frage nach dem Sinn des Redim.

    Wenn die Anzahl überschaubar bleibt, dann kannst Du ohne Bedenken beim Anlegen einen Wert vorgeben, der in der Praxis nicht überschritten wird. Das frisst kein Brot, Speicher kostet nichts mehr.

    Eine weitere Möglichkeit, je nach Anwendungsdesign: Mehrfachauswahl zulassen und entsprechend dimensionieren.

    Soll die Auswahl denn beliebig oft erfolgen und das Array jedesmal verlängert werden? Dann wäre das Design zu überdenken - die bereits vorhandenen Einträge sollten dann angezeigt werden.

    Gruß
    Ralf
     
    drambeldier, 21. März 2016
    #2
  3. Hi Ralf,
    danke für deine Antwort.

    Das Ganze ist so gedacht, dass zu Beginn in die Listbox mehrere Einträge geladen werden. Diese Anzahl ist jedoch völlig variabel, sodass eine Vorauswahl keinen Sinn macht.

    Gedacht habe ich das folgendermaßen:
    1. Mehrere Daten in Listbox auswählen (entspricht Tabellenblattnamen)
    2. ausgewählte Daten in Array fortlaufend eintragen
    3. Array mittels For-Schleife durchlaufen und alle Einträge verarbeiten (Array deshalb forlaufend, um mit LBound und UBound zu arbeiten)

    Hoffe das erklärt deine Fragen

    Gruß Carsten
     
    DubWay, 21. März 2016
    #3
  4. Array durch Listbox füllen

    Hi,

    meine Zweifel bezogen sich auf die Praxis: Listboxen sind in der Länge meist eher begrenzt. Selbst wenn Du mit 5000 Werten rechnest, ist das immer noch nichts, wovor sich VBA fürchten müsste. Und wenn es um Tabellenblätter geht, liegen wir wohl noch viel niedriger.

    Gruß
    Ralf
     
    drambeldier, 22. März 2016
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Carsten,

    so sollte es richtig laufen:

    Code:
    Allerdings hat die Verwendung von ReDim Preserve arrAuswahl(UBound(arrAuswahl) + 1) den Nachteil, dass du im 0. Feld keinen Eintrag erhältst. Benutze stattdessen eine extra Zählvariable:

    Code:
    Array durch Listbox füllen grusz.gif
     
    Beverly, 22. März 2016
    #5
  6. Hi Beverly,
    vielen Dank für deine Antwort.
    Hatte es davor anders gelöst und zwar hab ich das Array einfach von 1 statt 0 auslesen lassen *biggrin.gif*

    werde aber deine Methode verwenden, um das Ganze auch "richtig" zu lösen.

    Vielen Dank für alle Antworten der User

    Gruß Carsten
     
    DubWay, 22. März 2016
    #6
  7. Hallo,

    ... kurze Frage in die Runde: Wie kann ich mir das Ergebnis des ArrAuswahl anzeigen lassen?



    Vielen Dank
     
    drzwockel, 22. März 2016
    #7
  8. Beverly
    Beverly Erfahrener User

    Array durch Listbox füllen

    Hi,

    wo willst du es anzeigen lassen?


    Array durch Listbox füllen grusz.gif
     
    Beverly, 22. März 2016
    #8
  9. Hi,

    Code:
    alternativ:

    Code:
    gruß Carsten
     
    DubWay, 22. März 2016
    #9
  10. Beverly
    Beverly Erfahrener User
    Hi,

    das geht auch einfacher *wink.gif* :

    Code:
    Array durch Listbox füllen grusz.gif
     
    Beverly, 22. März 2016
    #10
  11. ... super ... funktioniert ... Vielen Dank ...
     
    drzwockel, 22. März 2016
    #11
Thema:

Array durch Listbox füllen

Die Seite wird geladen...
  1. Array durch Listbox füllen - Similar Threads - Array Listbox füllen

  2. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  3. Summenteilergebnis eines Arrays als Array darstellen

    in Microsoft Excel Hilfe
    Summenteilergebnis eines Arrays als Array darstellen: Hallo Community, Summenteilergebnis eines Arrays als Array darstellen. An dieser Stelle stecke ich fest. Ich habe eine Testmappe erstellt, die die Problematik versucht darzustellen. Bevor jemand...
  4. Formel bei Veränderung von dynamischem Array "mitziehen"?

    in Microsoft Excel Hilfe
    Formel bei Veränderung von dynamischem Array "mitziehen"?: Hallo liebes Forum, ich komme bei folgendem Problem nicht weiter und habe mir hier etwas Hilfe erhofft: Ich habe eine Tabelle mit Feedbacks zu Lehrgängen/Kursen. Diese will ich nach Dozent erst...
  5. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  6. Zählenwenn Ergebnis als dyn. Array

    in Microsoft Excel Hilfe
    Zählenwenn Ergebnis als dyn. Array: Hallo, In beiliegender Tabelle soll ein dyn. Array ausgegeben werden, welches die Ergebnisse wie in Spalte C beinhaltet. Das Array darf dabei nicht kürzer sein, als die Tabelle1 selbst. Also nicht...
  7. dyn. array in Let

    in Microsoft Excel Hilfe
    dyn. array in Let: Tach gesagt, Mit =HEUTE()+{-1;0;1} wird das Datum "gestern", "heute", "morgen" ausgegeben. Jetzt bei einer Let-Funktion das gleiche: Beispiel: =LET(H_1;-1; H_2;0; H_3;1; HEUTE()+{H_1;H_2;H_3}...
  8. Listbox mit Array befüllen,bearbeiten &zurückschreiben

    in Microsoft Excel Hilfe
    Listbox mit Array befüllen,bearbeiten &zurückschreiben: Guten Abend Ich bin ein Laie und habe mich in letzter Zeit mit einem Projekt ins VBA eingearbeitet. Nun scheitere ich aber an den Arrays in Kombination mit dynamischen Tabellen (.listobjects)...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden