Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
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
Inhaltsverzeichnis

Listbox1.List in Application.Match

Listbox1.List in Application.Match
15.02.2023 16:48:31
Daniel
Hallo
gibt es eigentlich eine Möglichkeit, den Inhalt einer Listbox in Application.Match als Liste zu verwenden?
bei Application.Match("xxx", Listbox1.List, 0) bekomme ich den Laufzeitfehler 13, Typen unverträglich (egal, ob der Suchbegriff drin ist oder nicht)
Gruß Daniel

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox1.List in Application.Match
15.02.2023 17:36:27
onur
Du musst noch angeben, WO sich die Listbox befindet.
AW: Listbox1.List in Application.Match
15.02.2023 18:33:59
Daniel
Hi
Spielt das eine Rolle?
Ich verwende Listboxen als ActiveX im Tabellenblatt oder in einer Userform.
Wenn du dich auf eines konzentrieren willst, nimm die Userformvariante
Gruß Daniel
AW: Listbox1.List in Application.Match
15.02.2023 21:37:18
onur
Willst du hier Hilfe oder willst du hier alle Rückfragen hinterfragen?
Wenn es keine Rolle spielen würde, würde ich nicht fragen.
Wenn sich die Listbox z.B. auf der Userform1 befindet, solltest du schreiben
Application.Match("xxx", Userform1.Listbox1.List, 0).
Mit "angeben" meinte ich "im Code angeben" und nicht in deinem Post.
Anzeige
AW: Listbox1.List in Application.Match
15.02.2023 21:46:01
Daniel
Das braucht man nicht, wenn sich der Code im entsprechenden Modul befindet.
Bei ActiveX normalerweise im Modul des Tabellenblatts, bei Userform im Modul der Userform.
Steht der Code in einem anderen (Allgemeinenen) Modul, muss man das Modul voranstellen, in dem sich die Listbox befindet. Daher ist kein Unterschied zwischen beiden Varianten.
Gruß Daniel
AW: Listbox1.List in Application.Match
15.02.2023 21:49:47
onur
Das ist mir klar, aber wie du schreiibst, WENN der Code sich im entsprechenden Modul befindet. OB das der Fall ist, hast du ja nicht verraten.
Willst du hier eigentlich Hilfe oder nur die Helfer belehren?
AW: Listbox1.List in Application.Match
16.02.2023 07:37:59
Daniel
Der Code befindet sich im richtigen Modul.
Anzeige
AW: Listbox1.List in Application.Match
15.02.2023 17:53:38
GerdL
Hola
Private Sub CommandButton1_Click()
'ListBox1.List:
'X, 11
'Y, 22
'Z, 33
MsgBox Application.Match(33, WorksheetFunction.Index(ListBox1.List, 0, 2), 0)
MsgBox ListBox1.List(2, 1)
End Sub
Match ist einzeilig oder einspaltig orientiert.
Gruß Gerd
AW: Listbox1.List in Application.Match
15.02.2023 18:31:49
Daniel
Hi
Aber .List doch auch wenn man es nicht anders angibt, oder?
Ansonsten, wie kann kann man die benötigte Spalte extrahieren?
Gruß Daniel
AW: Listbox1.List in Application.Match
15.02.2023 22:51:57
GerdL
Hola
List ist ein 2dimensionales Feld.
Die Spalte muss man wissen oder Durchschleifen..
Gruß Gerd
AW: Listbox1.List in Application.Match
16.02.2023 09:46:51
Daniel
Hi
und wie kann man das .List so umwandeln bzw die Spalte herauslösen, dass man MATCH anwenden kann?
ja, man kann durchschleifen, aber mit MATCH wäre es halt eleganter.
interessanterweise funktioniert Application.Match("x", Listbox1.List, 0) wenn man die Listbox zuvor mit .List = Range(...).Value befüllt hat (und das wäre ja auch 2-Dimensional, auch wenn es nur eine Spalte hat).
der Fehler 13 tritt dann auf, wenn die Listbox mit .AddItem befüllt wurde.
Gruß Daniel
Anzeige
AW: Listbox1.List in Application.Match
16.02.2023 21:02:20
GerdL
Der Fehler tritt auch in einer 2spaltigen Listbox nach List=Range(,,).Value auf.
Gruß Gerd
AW: Listbox1.List in Application.Match
17.02.2023 01:25:44
Daniel
Und nicht mit einer Einspaltigen Range.
Wie kann ich die benötigte Spalte aus .List generieren, damit ich mit Match auswerteren kann, wenn die Listbox einspaltig mit .AddItem befüllt wurde, um die Schleife zu vermeiden?
Gruß Daniel
AW: Listbox1.List in Application.Match
17.02.2023 01:45:56
ralf_b
wenn du eine Listbox mit Additem füllst wird eine Liste mit 10 Spalten erzeugt. Auch wenn du nur in die erste Spalte was reinschreibst.
AW: Listbox1.List in Application.Match
17.02.2023 02:39:09
Daniel
Ok, danke für die Info.
Und kann man da eine Spalte rauspicken, um sie mit Match auszuwerten?
Gruß Daniel
AW: Listbox1.List in Application.Match
17.02.2023 06:31:36
ralf_b
hab es nicht hinbekommen, leider.
Anzeige
AW: Listbox1.List in Application.Match
17.02.2023 13:50:31
GerdL
Moin
Sub Unit()
    With Tabelle1.ListBox1
        .Clear
        .AddItem 1
        .AddItem 2
        .AddItem 3
        Tabelle1.Cells(1, 1).Resize(.ListCount) = .List
    End With
    
    MsgBox Application.Match(3, Tabelle1.Columns(1), 0) - 1
    Tabelle1.Columns(1).Clear
End Sub
Gruß Gerd
AW: Listbox1.List in Application.Match
20.02.2023 14:08:19
Daniel
naja, kleiner Umweg.
Daher noch nicht die gesuchte Lösung, aber trotzdem Danke.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige