Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
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
ListBox mit 2 Spalten befüllen
16.03.2023 11:38:06
krug96

Hallo,

ich stehe gerade auf dem Schlauch, was ListBoxen angeht.
Ich habe ein Array mit 10 Spalten und n-Zeilen
Aus diesem Array möchte ich nur die Infos aus der Spalte 1 und Spalte 2 in eine ListBox mit 2 Spalten anzeigen.

Leider klappt das nicht wirklich.

Kann mir jemand eine einfache Lösung nennen?

Vielen Dank für eure Hilfe.

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

Betreff
Datum
Anwender
Anzeige
AW: ListBox mit 2 Spalten befüllen
16.03.2023 11:56:33
Rudi Maintaire
Hallo,
musst du in ein anderes Array 'umschaufeln'.
z.B.
Function ListArray(DeinArray)
  Dim tmp(), i As Long
  ReDim tmp(1 To UBound(DeinArray), 1 To 2)
  For i = 1 To UBound(DeinArray)
    tmp(i, 1) = DeinArray(i, 1)
    tmp(i, 2) = DeinArray(i, 2)
  Next i
  ListArray = tmp
End Function
Zuweisen mit
ListBox1.List = ListArray(DeinArray)
Gruß
Rudi


AW: ListBox mit 2 Spalten befüllen
16.03.2023 17:33:21
krug96
Hallo Rudi,

danke für die Zeilen, das hat soweit auch geklappt.
An welcher Stelle dieser Funktion muss ich die Abfrage gesetzt werden, wenn leere Zeilen aus dem "DeinArray" nicht in der ListBox angezeigt werden sollen.

If Not DeinArray(i, 1) = "" Then

Vielen Dank.


Anzeige
AW: ListBox mit 2 Spalten befüllen
17.03.2023 09:33:43
krug96
Guten Morgen Rudi,

wäre das eventuell auch über AddItem - auch wenn es dadurch etwas länger dauert - lösbar?

Vielen Dank für die Hilfe
LG


AW: ListBox mit 2 Spalten befüllen
17.03.2023 11:12:55
Herbert_Grom
Hallo,

warum willst du das mit "AddItem" lösen? Möchtest du irgendwelche Inhalte ausschließen?

Servus


AW: ListBox mit 2 Spalten befüllen
17.03.2023 15:25:27
krug96
Hallo,

das liegt daran, weil ich in meinem Code bisher immer mit AddItem gearbeitet hatte. :-)
Lag aber auch daran, weil ich mich mit dem anderen Weg noch nicht wirklich auseinandergesetzt hatte.

Gruß
Michael


Anzeige
AW: ListBox mit 2 Spalten befüllen
17.03.2023 12:48:20
Rudi Maintaire
Hallo,
  Function ListArray(DeinArray)
    Dim tmp(), i As Long, j As Long
    ReDim tmp(1 To 2, 1 To UBound(DeinArray))
    
    For i = 1 To UBound(DeinArray)
      If DeinArray(i, 1) > "" Then
        j = j + 1
        tmp(1, j) = DeinArray(i, 1)
        tmp(2, j) = DeinArray(i, 2)
    Next i
    
    ReDim Preserve tmp(1 To 2, 1 To j)
    ListArray = Application.Transpose(tmp)
    
  End Function
Gruß
Rudi


AW: ListBox mit 2 Spalten befüllen
17.03.2023 15:18:39
krug96
Hallo Rudi,

genau so wollte ich das haben... allerdings musste ich da noch ein End if und y = 0 setzen
Vielen Dank.

LG
Michael


Anzeige
AW: ListBox mit 2 Spalten befüllen
17.03.2023 11:21:56
Daniel
Hi
kommt jetzt darauf an.
Wenn die Listbox das ganze Array enthalten soll, aber nur 2 Spalten angezeigt werden sollen, könntest du das über die ColumnWidth lösen
hierfür für die ersten Beiden Spalten einen Wert &gt0 angeben und für die alle folgenden Spalten 0.
Das kann programmieren, oder aber auch in der Eigenschaftsliste direkt angeben (.ColumnWidth = "10;10;0;0;0;0")

wenn die Listbox nur 2 Spalten bekommen soll, könnte man das Array auch mit RedimPreserve beschneiden:
Y = Range(...).value
X = Y
Redim Preserve X(1 to ubound(x), 1 to 2)
Listbox1.List = X
Gruß Daniel


Anzeige
AW: ListBox mit 2 Spalten befüllen
17.03.2023 15:22:13
krug96
Hallo Daniel,

vielen Dank für Deinen Ansatz und Deine Hilfe.
Das von Rudi passt nun. Darauf kann ich auch weiter aufbauen.

Grüße
Michael

277 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige