Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten aus mehrspaltiger Listbox gezielt auslesen

Forumthread: Daten aus mehrspaltiger Listbox gezielt auslesen

Daten aus mehrspaltiger Listbox gezielt auslesen
29.10.2004 12:51:10
js
Hallo,
ich habe ein Problem mit einer Listbox auf einer Userform.
Ich lese in diese mehrspaltige Listbox, Werte über ein mehrdimensionales Feld ein, z.B.:
userform1.listbox1.list() = feld
dies funktioniert.
Ich hatte nun gedacht, ich kann das ganze auch umkehren, d.h. den Inhalt der Listbox wieder in ein Feld zurückschreiben. Dies geht allerdings nicht. Ich bekomme dann die Meldung "Zuweisung zu Feld nicht möglich".
Es muß nicht unbedingt ein Feld sein, ich muß nur den Wert in einer best. Spalte und einer best. Zeile der Listbox, ansprechen können.
Hat jemand eine Idee?
Im voraus schon vielen Dank.
js
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus mehrspaltiger Listbox gezielt auslesen
29.10.2004 12:56:23
Annett
Hallo js
ListBox1.List(ListBox1.ListCount, 1)
Gruß Annett
AW: Daten aus mehrspaltiger Listbox gezielt auslesen
29.10.2004 13:12:50
js
Hallo Annett,
ich kann's nicht ganz nachvollziehen:
angenommen, ich möchte den Wert aus der 3. Spalte und 5. Zeile einer Listbox in eine Variable "X" einlesen. Wie muß diese Zuweisung aussehen?
Danke
Anzeige
AW: Daten aus mehrspaltiger Listbox gezielt auslesen
29.10.2004 13:16:17
Nepumuk
Hi,
X = ListBox1.List(4, 2)
(Zeile-1, Spalte-1)
Gruß
Nepumuk
AW: Daten aus mehrspaltiger Listbox gezielt auslesen
29.10.2004 13:22:26
js
Danke.
Es hat funktioniert.
js
AW: Daten aus mehrspaltiger Listbox gezielt auslesen
29.10.2004 13:16:34
Annett
Hallo js,
für VBA GUt sollte es klar sein.
ListBox1.List(4, 2)
Gruß Annett
Anzeige
AW: Daten aus mehrspaltiger Listbox gezielt auslesen
29.10.2004 13:27:04
js
Hallo Annett,
kaum ist eine Stunde vorbei, und schon hab ich's auch verstanden!
Danke
js
;
Anzeige
Anzeige

Infobox / Tutorial

Daten aus mehrspaltiger Listbox gezielt auslesen


Schritt-für-Schritt-Anleitung

Um Daten aus einer mehrspaltigen Listbox in einer Userform auszulesen, kannst Du die folgende VBA-Anweisung verwenden. Diese Anleitung zeigt, wie Du den Wert aus einer bestimmten Spalte und Zeile in eine Variable einliest.

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel.

  2. Füge eine Userform hinzu und platziere eine Listbox darauf.

  3. Setze die Listbox-Eigenschaft ColumnCount, um die Anzahl der Spalten festzulegen.

  4. Füge Werte in die Listbox ein, z.B.:

    UserForm1.ListBox1.List = feld
  5. Um einen Wert aus der Listbox auszulesen, verwende:

    Dim X As Variant
    X = UserForm1.ListBox1.List(4, 2) ' Zeile 5, Spalte 3

Dies liest den Wert aus der 5. Zeile und der 3. Spalte in die Variable X.


Häufige Fehler und Lösungen

  • Fehler: "Zuweisung zu Feld nicht möglich"
    Lösung: Stelle sicher, dass Du die Listbox korrekt initialisiert hast und dass die Indizes richtig sind (beachte, dass die Indizes bei 0 beginnen).

  • Fehler: Falscher Wert wird ausgelesen
    Lösung: Überprüfe die angegebene Zeilen- und Spaltennummer. Die Syntax lautet List(Zeile, Spalte) (beachte, dass die Zeilen- und Spaltenindizes bei 0 beginnen).


Alternative Methoden

Eine Alternative zum direkten Auslesen von Werten aus einer Listbox ist die Verwendung von ListItems. Diese Methode ist nützlich, wenn Du mit Objekten arbeiten möchtest.

Dim item As ListItem
Set item = UserForm1.ListBox1.ListItems(4)
Dim Wert As String
Wert = item.Text ' Gibt den Text des ListItems aus

Diese Methode kann vor allem in Kombination mit javascript excel auslesen nützlich sein, um die Werte programmatisch weiterzuverarbeiten.


Praktische Beispiele

Hier sind zwei praktische Beispiele, die Dir helfen, das Auslesen von Listbox-Daten besser zu verstehen:

Beispiel 1: Auslesen eines Wertes und Zuweisung zu einer Zelle

Sub AuslesenUndZuweisen()
    Dim Wert As Variant
    Wert = UserForm1.ListBox1.List(4, 2) ' Zeile 5, Spalte 3
    Worksheets("Tabelle1").Cells(1, 1).Value = Wert ' Zuweisung zu Zelle A1
End Sub

Beispiel 2: Mehrere Werte aus einer Listbox auslesen

Sub AlleWerteAuslesen()
    Dim i As Integer
    For i = 0 To UserForm1.ListBox1.ListCount - 1
        Debug.Print UserForm1.ListBox1.List(i, 0) ' Gibt alle Werte der ersten Spalte aus
    Next i
End Sub

Tipps für Profis

  • Nutze die ListBox.Selected-Eigenschaft, um mehrere Auswahlmöglichkeiten zu ermöglichen.
  • Experimentiere mit der ColumnWidths-Eigenschaft, um sicherzustellen, dass alle Spalteninhalte sichtbar sind.
  • Verwende ListBox.Clear, um die Listbox vor dem Hinzufügen neuer Elemente zu leeren, um Verwirrung zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich alle Werte aus einer Listbox in ein Array speichern?
Du kannst das gesamte Listbox-Inhalt in ein Array speichern, indem Du die List-Eigenschaft verwendest:

Dim myArray As Variant
myArray = UserForm1.ListBox1.List

2. Kann ich die Listbox mit Daten aus einer Excel-Tabelle füllen?
Ja, Du kannst die Listbox mit einer Schleife füllen, indem Du die Werte aus einer Tabelle ausliest:

Dim i As Integer
For i = 1 To Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
    UserForm1.ListBox1.AddItem Worksheets("Tabelle1").Cells(i, 1).Value
Next i

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige