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

Value aus Listbox Link folgen

Value aus Listbox Link folgen
12.06.2022 09:17:03
oraculix
https://www.herber.de/bbs/user/153527.xlsm
Hallo Experten!
In meiner Userform1 versuche ich einen Hyperlink per Commandbutten in Tabelle 8 zu öffnen.
Den Value des Links erhalte ich über die Listbox "Lst_Treffer" der in der Tabelle 8 nach dem Eintrag suchen soll und dem Link folgen soll. Habe mir was zusammengebastelt aber es geht nicht so wie es möchte es kommt ein Fehler und der Link wird nicht ausgeführt!
Habe schon viel im Google gesucht aber da geht es meistens um Doppelklicks die ich nicht brauche weil der schon belegt ist.

Private Sub CommandButton1_Click()
Dim rngSuche As Range
Dim C As Range
If Not Intersect(Lst_Treffer.Value, Range("A2:A5000")) Is Nothing Then
Set C = Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not C Is Nothing Then
ThisWorkbook.FollowHyperlink C.Hyperlinks(1).Address
Set rngSuche = Worksheets("Bearbeiten").Columns(1).Find(Lst_Treffer.Value, LookAt:=xlPart)
Application.Goto Reference:=rngSuche
' Cancel = True
End If
End If
End Sub
Gruß
Oraculix

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Value aus Listbox Link folgen
12.06.2022 09:47:27
Alwin
Hallo Oraculix,

If Not Intersect(Lst_Treffer.Value, Range("A2:A5000")) Is Nothing Then
und das if am Ende kannst du entfernen, da sinnfrei - mit

Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlPart)
der gesuchte Wert in Spalte A2 bis A5000, falls ein Fund existiert in C übergeben wird und damit der restliche Code funktioniert.
Gruß Uwe
AW: Value aus Listbox Link folgen
12.06.2022 10:05:58
oraculix
Hallo vielen Dank für die rasche Antwort!
Habe es geändert bekomme aber Syntax Fehler!
Hast Du das so gemeint ?Habe ich das richtig verstanden?
Dim rngSuche As Range
Dim C As Range
If Not Intersect(Lst_Treffer.Value, Range("A2:A5000")) Is Nothing Then
Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlPart)
' If Not C Is Nothing Then
ThisWorkbook.FollowHyperlink C.Hyperlinks(1).Address
Set rngSuche = Worksheets("Bearbeiten").Columns(1).Find(Lst_Treffer.Value, LookAt:=xlPart)
Application.Goto Reference:=rngSuche
' Cancel = True
'End If
End If
Gruß
Oraculix
Anzeige
Teilefolg mit Fehlern
12.06.2022 10:43:37
oraculix
Hi habe es jetzt nochmal geändert und es funktioniert nur teilweise manchmal kommt eine Fehlermeldung
Laufzeitfehler '5':
Ungültiger Prozeduraufruf oder ungültiges Argument und manchmal zeigt er mir den Falschen Treffer an zb. Mad Max gibt es mehrere Folgen. Ich klicke auf Mad Max und er Zeigt mir Mad Max Donnerkuppel an. Obwohl der Link Mad Max benannt wurde.
Das ist der neue VBA Code:
Dim rngSuche As Range
Dim C As Range
'If Not Intersect(Lst_Treffer.Value, Range("A2:A5000")) Is Nothing Then
Set C = Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlPart)
'If Not C Is Nothing Then
' ThisWorkbook.FollowHyperlink C.Hyperlinks(1).Address
Set rngSuche = Worksheets("Bearbeiten").Columns(1).Find(Lst_Treffer.Value, LookAt:=xlPart)
Application.Goto Reference:=rngSuche
ThisWorkbook.FollowHyperlink C.Hyperlinks(1).Address
' Cancel = True
'End If
Gruß
Oraculix
Anzeige
AW: Teilefolg mit Fehlern
12.06.2022 11:06:23
Nepumuk
Hallo,
Intersect erwartet Range-Objekte, Listboxeinträge gehören nicht dazu. Zudem ist die Abfrage Unsinn, da die Einträge der Listbox ja aus dieser Spalte stammen.
Also:

Private Sub CommandButton1_Click()
Dim rngSuche As Range
Set rngSuche = Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not rngSuche Is Nothing Then
ThisWorkbook.FollowHyperlink rngSuche.Hyperlinks(1).Address
Application.Goto Reference:=rngSuche
End If
End Sub
Gruß
Nepumuk
AW: Teilefolg mit Fehlern
12.06.2022 11:29:54
oraculix
Vielen Dank Funktioniert aber nur manchmal ohne Fehler aber es werden nicht die gleichen Links angezeigt die ich ausgewählt habe!
Er zeigt mit einfach unter Mad Max Mad Max - Jenseits der Donnerkuppel an
oder es es passiert gar nix.
Gruß
Oraculix
Ps.: Bald ist es soweit 2500/2630
Anzeige
AW: Teilefolg mit Fehlern
12.06.2022 11:57:57
oraculix
Ich glaube ich habe den Fehler gefunden!
Kann es sein das der Value der Listbox aus Spalte A ist Englische bezeichnung des Films und Spalte B Deutsche Bezeichnung nicht angegeben ist das der Value in Deutsch also Spalte B in der Listbox ist.
Ich meine damit das es die Spalte A für den Value verwendet und das wäre Falsch.
Wie sag ich ihm das der Value Spale B ist?
Set rngSuche = Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlWhole)'Value=2?
Danke
Gruß
Oraculix
AW: Teilefolg mit Fehlern
12.06.2022 11:08:18
ralf_b
Man sollte glauben das du langsam die Find() Parameter kennst. Aber das du sogar die falsche Zeile auskommentierst obwohl sie dir schon deutlichst gezeigt wurde, spricht wiedereinmal eine eigene Sprache. LookAt:=xlPart !!!!!
Anzeige
AW: Teilerfolg mit Fehlern
12.06.2022 11:40:13
oraculix
Hab es ausgebessert xlWhole bringt auch nix!
war nur ein Versuch owt
12.06.2022 12:14:44
ralf_b
Suchen Fehler gefunden!
12.06.2022 12:29:47
oraculix
Danke trotzdem sehr nett von Dir Deine Hilfe!
Ich glaube ich habe den Fehler gefunden!
Der Value der zum suchen aus der Listbox kommt ist falsch es müsste der Eintrag aus Spalte B genommen werden.
Also Value=Listbox (1) wenn ich richtig liege ist 0 Spalte A und B Spalte 1.
Nur weis ich leider nicht wie ich das hier einfügen soll.
Dim rngSuche As Range
Set rngSuche = Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngSuche Is Nothing Then
ThisWorkbook.FollowHyperlink rngSuche.Hyperlinks(1).Address
Application.Goto Reference:=rngSuche
End If
Gruß
Oraculix

Anzeige
AW: Suchen Fehler gefunden!
12.06.2022 12:38:19
ralf_b
Deine Listbox hat den Wert aus der Textcolumn. wenn der auf -1 steht wird die erste Spalte benutzt.
Oder du holst dir den Wert über den Listindex und den Spaltenindex. Wie das geht, solltest du bei deinen Codes schon irgendwo haben.
AW: Suchen Fehler gefunden!
12.06.2022 13:35:54
oraculix
Hallo und wieder was gelernt Danke!
Wusste gar nicht das es Textcolumn -1 gibt.
Habe jetzt mit Textcolumn 2 versucht bringt ach nix!
Wert über den Listindex?
Ne hab ich nicht. Ich kenne Listindex 0 zb. nur um den ersten Eintrag der Listbox in der Userform zu starten.
Wie ich das jetzt in den Code einfügen soll weis ich nicht.
Gruß
Oraculix
Anzeige
AW: Value aus Listbox Link folgen
12.06.2022 11:08:05
onur
Alwin sagte dir doch bereits, dass diese Zeile Blödsinn ist und weg muss:

If Not Intersect(Lst_Treffer.Value, Range("A2:A5000")) Is Nothing Then
Also so:

Private Sub CommandButton1_Click()
Dim rngSuche As Range
Dim C As Range
Set C = Tabelle8.Range("A2:A5000").Find(Lst_Treffer.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not C Is Nothing Then
ThisWorkbook.FollowHyperlink C.Hyperlinks(1).Address
Set rngSuche = Worksheets("Bearbeiten").Columns(1).Find(Lst_Treffer.Value, LookAt:=xlPart)
Application.Goto Reference:=rngSuche
End If
End Sub

Anzeige
AW: Value aus Listbox Link folgen
12.06.2022 11:19:16
oraculix
Hall Danke Funktioniert nur Teilweise aber wenigsten ohne Fehler!
Manchmal tut sich nichts und er findet den Link anscheinend nicht,
Ich verstehe nicht warum?
Gruß
Oraculix
AW: Value aus Listbox Link folgen
13.06.2022 03:04:27
oraculix
Meine Vermutung war richtig das die Listbox den Falschen Value ausgibt von Spalte A
Da ich es nach langer Recherche nicht hinbekommen habe den Value aus Spalte B zu bekommen bin ich einen anderen Weg gegangen.
Es Ist zwar nicht das Gelbe vom Ei und ziemlich umständlich aber funktioniert jetzt alles Perfekt !
'Commandbutton 34 sucht Eintrag in Tabelle Bearbeiten

Private Sub CommandButton34_Click()
Unload UserForm1
Dim rngSuche As Range
Dim OpenFile As String
Dim C As Range
Application.ScreenUpdating = False
If Not C Is Nothing Then
ThisWorkbook.FollowHyperlink C.Hyperlinks(1).Address
Application.Goto Reference:=rngSuche
End If
Set rngSuche = Worksheets("FilmeAnsehen").Columns(1).Find(Lst_Treffer.Value, LookAt:=xlPart)
If Not rngSuche Is Nothing Then
Unload UserForm1
Application.Goto Reference:=rngSuche
Else
MsgBox "Titel nicht gefunden"
End If
ActiveCell.Offset(0, 1).Select
If Not C Is Nothing Then
ThisWorkbook.FollowHyperlink C.Hyperlinks(1).Address
Application.Goto Reference:=rngSuche
End If
ActiveCell.Select
Set rngSuche = Tabelle8.Range("A2:A5000").Find(ActiveCell.Value, LookIn:=xlFormulas, LookAt:=xlWhole)
If Not rngSuche Is Nothing Then
ThisWorkbook.FollowHyperlink rngSuche.Hyperlinks(1).Address
Application.Goto Reference:=rngSuche
End If
Worksheets("FilmeAnsehen").Activate
Application.ScreenUpdating = True
End Sub
Gruß
Oraculix
kost fast nix
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige