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

Doppelklick Listbox zu Tabelle

Doppelklick Listbox zu Tabelle
22.06.2021 14:06:01
oraculix
Hallo
Ich habe in einer Userform1 eine Listbox "Lst_Treffer"(Name der Listbox)
In dieser Listbox werden Treffer gezeigt nach einer suche.
Frage:
Ich möchte gerne auf einen Treffer doppelklicken in der Listbox der mir dann die Userform 1 schließt .
Danach sollte das gefundene Wort in der Tabelle "FilmeAnsehen" markiert werden.
Leider kann ich keine Excel Datei hochladen weil sie zu groß ist.ca 25.000kb

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 14:22:19
Beverly
Hi,
ist das Tabellenblatt das aktive? Dann versuche es so:

Private Sub Lst_Treffer_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngSuche As Range
Set rngSuche = Range(Lst_Treffer.RowSource).Find(Lst_Treffer.Value, lookat:=xlWhole)
Me.Hide
Application.Goto reference:=rngSuche
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 14:37:46
oraculix
Danke für Deine Mühe.
Aber wenn ich in der Userform 1 auf die Listbox einen Treffer Doppelklicke tut sich nichts es kommt ein Fehler .
Fehler:
Set rngSuche = Range(Lst_Treffer.RowSource).Find(Lst_Treffer.Value, lookat:=xlWhole)
Habe deinen Code in die Userform1 Kopiert
AW: Doppelklick Listbox zu Tabelle
22.06.2021 14:55:48
Beverly
Und was für ein Fehler kommt, also was sagt der Debugger? Mit der Aussage "es kommt ein Fehler" kann man absolut nichts anfangen, denn Fehlermöglichkeiten gibt es verschiedene. Das kommt davon, wenn man keine Beispielmappe bereitstellt - es muss ja nicht die Originaldatei sein, wenn sie zu groß ist oder sensible Daten enthält, aber man muss das Prinzip erkennen können.
Wie füllst du die ListBox - mittels RowSource oder werden die Daten mittels AddItem hinzugefügt? Wenn letzteres der Fall istt, dann musst du anstelle Range(Lst_Treffer.RowSource)... schreiben Worksheets("FilmeAnsehen").Columns(1).... Spaltennummer musst du anpassen.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 15:14:59
oraculix
Ja sorry geht leider nicht mit Arbeitsmappe Uploaden da hängen zu viele VBA code und Daten zusammen das jetzt entwirren ist zu viel Arbeit.
Hier der Code der die Lst_Treffer Befüllt!!!

Private Sub Lst_Treffer_befüllen(Optional ByVal Ftext As String = "")
'Befüllung der LST_Treffer Listbox
Dim i As Long
Dim W As Worksheet
Do While Me.Lst_Treffer.ListCount > 0
Me.Lst_Treffer.RemoveItem 0
Loop
Set W = Worksheets("FilmDB")
For i = 2 To W.Range("A99999").End(xlUp).Row
If Ftext = "" Or InStr(1, W.Cells(i, 1) & W.Cells(i, 2) & W.Cells(i, 8), Ftext, _
vbTextCompare) Then
With Me.Lst_Treffer
.AddItem CStr(W.Cells(i, 1))
.List(.ListCount - 1, 1) = CStr(W.Cells(i, 2))
.List(.ListCount - 1, 2) = CStr(W.Cells(i, 8))
End With
End If
Next
Hier nochmal Dein Code da ist irgendwo ein Fehler?
Fehler beim Kopilieren Syntax Fehler

Private Sub Lst_Treffer_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngSuche As Range
Worksheets("FilmeAnsehen").Activate
Set rngSuche = Range(Worksheets("FilmeAnsehen").Columns(1).Find(Lst_Treffer.Value, lookat:=xlWhole)
Me.Hide
Application.Goto reference:=rngSuche
End Sub

End Sub

Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 15:21:00
Beverly
Für dich ist es zu viel Arbeit, eine angemessene Beispielmappe zur Verfüngung zu stellen, die Helfer dürfen sich dann mal die Arbeit machen, denn sie stellen ja NUR ihre Freizeit kostenlos zur Verfügung um hier zu helfen - das ist (gelinde gesagt!!) keine schöne Einstellung...
Vergleiche das was du in deinem Code an der betreffenden Stelle zu stehen hast mit dem was ich in meinem vorhergehenden Beitrag gepostet habe.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 15:34:17
oraculix
Ja sorry ich habe es ja schon versucht die Arbeitsmappe zu erstellen ich krieg es nicht hin und vor allem es sind ja nur 300kb erlaubt . nicht mal mit win rar komm ich annähernd auf die Größe hin.
Einfach gesagt den Doppelklickten wert aus der Listbox kopieren und in Tabelle FilmeAnsehen Finden und Markieren?
Vielleicht wäre das einfacher?
AW: Doppelklick Listbox zu Tabelle
22.06.2021 16:44:15
Beverly
Was glaubst du wohl was mein Code macht, wenn du ihn richtig übernimmst? In Spalte A von Tabelle "FilmeAmsehen" suchen und dann zur gefundenen Zelle gehen.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 17:00:29
oraculix
bekomme folgende fehlermeldung:
Laufzeitfehler '5':
Ungültiger Prozeduraufruf oder ungültiges Argument

Private Sub Lst_Treffer_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngSuche As Range
Set rngSuche = Worksheets("FilmeAnsehen").Columns(1).Find(Lst_Treffer.Value, lookat:=xlWhole)
Me.Hide
Application.Goto reference:=rngSuche
End Sub

AW: Doppelklick Listbox zu Tabelle
22.06.2021 19:50:58
Beverly

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngSuche As Range
Set rngSuche = Worksheets("FilmeAnsehen").Columns(1).Find(ListBox1.List(ListBox1.ListIndex, 0), lookat:=xlWhole)
Me.Hide
Application.Goto reference:=rngSuche
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 20:56:40
oraculix
Danke für Deine Mühe
Aber es geht nicht keine Fehler und in der Tabelle tut sich nichts. Habe den Eindruck es wird nicht gesucht.
Wenn ich Application.Goto reference:=rngSuche unten hinzufüge wird es Gelb mit Fehler
Laufzeitfehler '5':
Ungültiger Prozeduraufruf oder ungültiges Argument

Private Sub Lst_Treffer_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngSuche As Range
Set rngSuche = Worksheets("FilmeAnsehen").Columns(1).Find(Lst_Treffer.List(Lst_Treffer.ListIndex, 0), lookat:=xlWhole)
Me.Hide
Application.Goto reference:=rngSuche 'hier liegt der Fehler wird Gelb
End Sub

Anzeige
AW: Doppelklick Listbox zu Tabelle
22.06.2021 23:11:33
Beverly
Selbstverständlich wird gesucht, aber den betreffenden Titel gibt es nicht, rngSuche bleibt deshalb leer und Application.Goto kann folglich nicht ausgeführt werden. Da du keine Beispielmappe bereitgestellt hast, lässt sich so eine Konstellation nicht vorausehen...
Dieser Fehler kann wie folgt abgefangen werden:

If Not rngSuche Is Nothing Then
Me.Hide
Application.Goto reference:=rngSuche
Else
MsgBox "Titel nicht gefunden"
End If

GrußformelBeverly's Excel - Inn
Anzeige
AW: Doppelklick Listbox zu Tabelle
23.06.2021 09:08:47
oraculix
Danke für Dine Mühe
Es funkt noch nicht es kommt die MsBox Nichts Gefunden.
Habe es endlich geschafft die Mappe zu erstellen.
https://www.herber.de/bbs/user/146734.xlsm
AW: Doppelklick Listbox zu Tabelle
23.06.2021 09:43:28
Beverly
Und wo ist das UserForm mit dem Code?

GrußformelBeverly's Excel - Inn
AW: Doppelklick Listbox zu Tabelle
23.06.2021 10:03:31
oraculix
ups Sorry Falsche Date gesendet hier nochmal.
https://www.herber.de/bbs/user/146737.xlsm
Anzeige
AW: Doppelklick Listbox zu Tabelle
23.06.2021 10:42:36
Beverly
Die Hälfte der Beiträge wären nicht notwendig gewesen, wenn du sofort eine Beispielmappe bereitgestellt hättest...
Der Titel kann deshalb nicht gefunden werden, weil du unterschiedliche Schreibweisen verwendest - einmal mit Jahreszahl in () und einmal ohne.
Ändere den fett markierten Teil:
Set rngSuche = Worksheets("FilmeAnsehen").Columns(1).Find(Lst_Treffer.Value, lookat:=xlPart)
Ich würde dir aber empfehlen, die Jahreszahl separat in einer anderen Spalte abzulegen, dann kannst du dir sicher sein, dass auch der korrekte Titel gefunden wird, weil bei der Suche dann xlWhole (Gesamtübereinstimmung) verwendet werden kann. Durch die jetzt aber erforderliche Verwendung von xlPart (Teilübereinstimmung) muss nicht der gesamte Inhalt übereinstimmen sondern nur ein Teil - Beispiel: es gibt die Titel "10 Kleine Neger (2020)" und "10 kleine Negerlein (1999)" in der Tabelle "FilmeAnsehen". Steht nun der zweite Titel in deiner Datenbank als erstes in der Reihenfolge (da er eher erschienen ist), du aber hast auf "10 kleine Neger" doppelgeklickt, wird nicht dieser sondern "10 kleine Negerlein" gefunden, weil "10 kleine Neger" auch in "10 kleine Negerlein" enthalten ist. Deshalb sollte man bei Suche in einer Datenbankt nie mit einer Teilübereinstimmung arbeiten müssen, da du ja die genaue Übereinstimmung finden willst.

GrußformelBeverly's Excel - Inn
AW: Doppelklick Listbox zu Tabelle
23.06.2021 13:03:51
oraculix
danke für deine Hilfe echt super jetzt geht alles.
das war es:
Set rngSuche = Worksheets("FilmeAnsehen").Columns(1).Find(Lst_Treffer.Value, lookat:=xlPart)
Aber leider ist das nicht so einfach wie du denkst filme müssen die jahreszahl enthalten weil es sind 3200 drinnen um den original titel zu finden in imdb und über eine software mittelss csv datei einlesen. habe auch viele doppelte namen von filmen da wüsste man ja nicht welcher film es dann ist. Die jahreszahl ist die einzige sicherheit das es der richtige film ist punkto namen.
weiters die schrit muss leider auch als hyperlink existieren wird mittels vba aus verzeichniss ausgelesen damit nach der suche auch den film ansehen kann.
AW: Doppelklick Listbox zu Tabelle
23.06.2021 13:12:44
Beverly
Weshalb hängst du dann nicht auch das Datum in deiner Datenbank gleich an um eine Eindeutigkeit zu erreichen? Eine Datenbank ist - so wie du sie derzeit nutzt - sinnlos, weil du dann mit Sicherheit in verschiedenen Fällen den falschen Titel ermittelst (wie schon beschrieben). Wenn, dann müsstest du schon in einer Schleife ALLE Einträge durchgehen und nicht nur EINEN Titel ausgeben lassen.

GrußformelBeverly's Excel - Inn
AW: Doppelklick Listbox zu Tabelle
23.06.2021 13:37:59
oraculix
habe ich ja nur um die datei für dich zu kürzen habe ich alles gelöscht was nicht unbedingt gebraucht wird es gibt ja spalten wie datum und jahr idnummer
AW: Doppelklick Listbox zu Tabelle
23.06.2021 15:04:36
Beverly
Dann suche doch lieber nach der ID-Nummer als nach dem Titel, denn ID-Nummern sollten immer eindeutige Kennungen sein.
Meine Hinweise resultieren aus jahrelanger Erfahrung im Umgang mit Datensammlungen und sollten nur dazu dienen, dein Vorhaben sicherer zu machen - nicht mehr und nicht weniger. Aber ich kann dich nicht zwingen, meine gut gemeinten Ratschläge anzunehmen, nur wundere dich nicht, wenn es dann zu falschen Ergebnissen kommt, falls du dabei bleibst, die Suche so wie jetzt und mit xlPart auszuführen.
Für mich hat sich das Thema erledigt.

GrußformelBeverly's Excel - Inn
AW: Doppelklick Listbox zu Tabelle
22.06.2021 18:51:02
oraculix
hallo
habe mitlerweile den fehler beseitigt es kommt keine fehlermeldung mehr aber leider wird das doppelgeklickte in der listbox nicht in der tabelle ausgewählt. da tut sich nichts?

Private Sub Lst_Treffer_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngSuche As Range
Set rngSuche = Worksheets("FilmeAnsehen").Columns(1).Find(Lst_Treffer.Value, lookat:=xlWhole)
Me.Hide
End Sub

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige