Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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

Eintrag ListBox markieren und verwenden

Eintrag ListBox markieren und verwenden
10.09.2015 10:17:44
Sven
Hi zusammen,
folgendes Problem, ich fülle meine Listbox mit folgendem Code:
For Each rngCell In Bereich
If rngCell.EntireRow.Hidden = False Then SSD_Suchen.ListBox1.AddItem rngCell.Value
If rngCell.EntireRow.Hidden = False Then SSD_Suchen.ListBox1.List(ListBox1.ListCount -   _
_
1, 1) = rngCell.Offset(0, 1).Value
If rngCell.EntireRow.Hidden = False Then SSD_Suchen.ListBox1.List(ListBox1.ListCount - 1, 2) = rngCell.Offset(0, 3).Value

Wenn nun eine Spalte markiert wird soll aus Spalte 1 der Wert an eine textbox übergeben werden. Doch ich komme nicht dahinter wie.
Versucht habe ich das hiermit, funktioniert aber nicht :(
Userfrom1.Suchfeld_1.Value = Userfrom1.ListBox1.Selected.Value 

Jemand eine Idee?
Danke und Gruß
Sven

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eintrag ListBox markieren und verwenden
10.09.2015 10:35:38
Rudi
Hallo,
1. Einmal abfragen ob die Zeile sichtbar ist, reicht doch.
  For Each rngCell In Bereich
If rngCell.EntireRow.Hidden = False Then
With SSD_Suchen.ListBox1
.AddItem rngCell.Value
.List(.ListCount - 1, 1) = rngCell.Offset(0, 1).Value
.List(.ListCount - 1, 2) = rngCell.Offset(0, 3).Value
End With
End If
Next rngCell

2. Falls (wie normal) die Spalte 1 der Lbx die gebundene Spalte ist:
Userfrom1.Suchfeld_1.Value = Userfrom1.ListBox1
Gruß
Rudi

AW: Eintrag ListBox markieren und verwenden
10.09.2015 11:28:43
Sven
Hallo Rudi,
vielen Dank für die schnelle Hilfe!
Und ja richtig, einmal abfragen reicht (wenn man weiß was man tut ;))
Leider bekomme ich nun eine Fehlermeldung.
Userfrom1.Suchfeld_1.Value = Userfrom1.ListBox1

Eigenschaft Value konnte nicht gesetzt werden. Typkonflikt
Habe bereits versucht das Problem selbst zu beheben komme aber nicht weiter.
Ich habe versucht eine Variable mit dem Listbox Eintrag zu füllen und zu übergeben, klappt auch nicht.
Eine Idee?
Danke und Gruß

Anzeige
AW: Eintrag ListBox markieren und verwenden
10.09.2015 11:33:09
Rudi
Hallo,
mal
SSD_Suchen.ListBox1
mal
Userfrom1.ListBox1
Wat denn nu?
Lad mal die Mappe hoch.
Gruß
Rudi

AW: Eintrag ListBox markieren und verwenden
10.09.2015 11:51:23
Sven
Hallo Rudi,
es sollte alles SSD_Suchen sein, habe das in meiner Mappe auch so.
Hatte vorhin nur schnell das Problem tippen wollen und dabei Userform1 genommen.
Meine Mappe: https://www.herber.de/bbs/user/100112.xlsm
Die ist aber voll mit Fehlern und ein wenig peinlich.
Den Bereich den ich gerade bearbeite ist der Commandbutton: Private Sub Suche_2_Enter_Click()
Die Suche_1 funktioniert aus jetziger Sicht super, nur bei dieser Suche_2 mit den autofiltern komme ich nicht weiter.
Vielen Dank vorab!
ich hoffe es sieht nicht zu schlimm aus ...

Anzeige
Sorry, aber das .....
10.09.2015 13:06:40
Rudi
.... ist mir jetzt zu viel, mich da durch zu wühlen.
Wie kann man den Fehler provozieren?

AW: Sorry, aber das .....
10.09.2015 13:30:43
Sven
Hey Rudi,
nichts zu entschuldigen, das kann ich durchaus sehr gut verstehen.
Der Fehler lässt sich einfach reproduzieren, Userform Ausgführen . Häckchen bei Enterprise (zum Beispiel) setzen und den Commandbutton im selben frame der Userform betätigen.
Danach kommt die Fehlermeldung mit Verweis auf

SSD_Suchen.Suchfeld_1.Value = SSD_Suchen.ListBox1
Danke trotzdem!

AW: Sorry, aber das .....
10.09.2015 13:49:34
Rudi
Hallo,
in der Lbx ist ja nichts ausgewählt.
        ListBox1.ListIndex = 0
SSD_Suchen.Suchfeld_1.Value = SSD_Suchen.ListBox1

Allerdings solltest du sicherstellen, dass was in der Listbox steht.
Gruß
Rudi

Anzeige
AW: Sorry, aber das .....
10.09.2015 14:01:28
Sven
Danke Rudi!
Dann komme ich wieder zum Grundproblem, ich lasse ja die Lbx mit autogefilterten Daten füllen.
Nicht über den doppleklick sondern über ein einfach markieren (also einmal anklicken) soll aus der markierten Zeile ein Wert übergeben werden den ich in die textbox schreiben möchte.
Mit deinem Ansatz läuft zumindest das Makro durch. Wenn auch leider nicht wie gewünscht.
Der Gedanke war das ein bestimmter Wert übergeben wird sobald ich eine Zeile in der Listbox anklicke.
Ich bastel nochmal und werde sicher mit Teilfragen wieder kommen.
Vielen Dank das du dir trotzdem die Mühe gemacht hast reinzuschauen!
Gruß
Sven

Anzeige
Ich glaube ich weiß wo das Problem liegt
10.09.2015 14:51:20
Sven
Hi Rudi,
sorry das ich schon wieder nerven muss.
Ich bin das komplette Makro mit F8 durchgegangen (per Zufall im Web gefunden, kannte die Funktion überhaupt nicht). Das Problem am dem ich stehe sieht wie folgt aus.
ListBox1.Selected(0) = True
SSD_Suchen.Suchfeld_1.Value = SSD_Suchen.ListBox1
Über ListBox1.Selected(0) = True wähle ich ja die erste Zeile in der Listbox aus
und mit SSD_Suchen.Suchfeld_1.Value = SSD_Suchen.ListBox1 übergebe ich den Wert.
Eigentlich müsste an diese Stelle das Makro angehalten werden bzw. das Makro soll warten bis ich mit der Maus einen Eintrag der Listbox anwähle.
Wie kann ich dem Makro sagen das es warten soll bis ein Eintrag angelickt wurde?
Danke vorab.
Gruß
Sven

Anzeige
Makro anhalten
10.09.2015 16:00:16
Rudi
Hallo,
Wie kann ich dem Makro sagen das es warten soll bis ein Eintrag angeklickt wurde?
Gar nicht.
Beende den Code nach dem Befüllen der LBx und schreib den Rest ins Click-Event.
Achtung!!! Das Click-Event wird auch durch Setzen des Listindex per Code (z.B. Listbox1.Listindex = 0)ausgelöst.
Gruß
Rudi

AW: Makro anhalten
11.09.2015 08:24:26
Sven
Guten Morgen Rudi,
vielen Dank für die Info. Dann werde ich mal weiterbasteln.
Danke!
Gruß und TGIF
Sven

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige