Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
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
Hyperlinks hinterlegen
17.02.2022 14:23:44
Dom
Guten Tag zusammen,
leider habe ich ein Problem beim automatischen hinterlegen von Hyperlinks.
Ich möchte jeder Zelle innerhalb einer Matrix (Kostenstellen Spalte sowie Monate sollen keinen Hyperlink erhalten) einen Hyperlink zuweisen.
Dabei handelt es sich um Website Links, die in einer weiteren Matrix der Tabelle niedergeschrieben sind.
Da die Kostenstellen nicht immer in der gleichen Zeile der beiden Matrizen stehen, suche ich mir die Zeile über die Match Funktion. Über die Match Funktion werden zudem die Spalten abgeglichen.
Durch die Verwendung der Variablen x und y mit der Match Funktion kann ich genau die Zellen bestimmen, für die der Hyperlink hinterlegt werden soll.
Leider stehe ich nun vor dem Problem, dass der Code zwar ausgeführt werden kann, es jedoch keinerlei Änderungen an der Matrix gibt. Ein Fehlercode wird auch nicht angezeigt.
Nachfolgenden Code habe ich verwendet:

Sub Hyperlink_setzen()
Dim Zeile As Double, Spalte As Double
Dim x As Long, y As Long
On Error Resume Next
For x = 3 To 11
For y = 11 To 15
Zeile = WorksheetFunction.match((Tabelle1.Cells(x, 10).Value), Tabelle1.Range("B1:B11"), 0)
Spalte = WorksheetFunction.match(Tabelle1.Cells(2, y), Tabelle1.Range("A2:G2"), 0)
ActiveSheet.Hyperlinks.Add Anchor:=Tabelle1.Cells(x, y), Adress:=Cells(Zeile, Spalte).Value
Next y
Next x
End Sub
Wenn ein Wert beim Vergleich nicht gefunden wurde, dann soll einfach mit dem nächsten x weitergemacht werden.
Hoffe die Datei kann geöffnet werden.
Vllt. hat ja jemand eine Idee. Besten Dank vorab.
https://www.herber.de/bbs/user/151206.xls

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks hinterlegen
17.02.2022 14:34:14
UweD
Hallo
Schreibfehler:
bei ActiveSheet.Hyperlinks.Add Anchor:=Tabelle1.Cells(x, y), Address:=Cells(Zeile, Spalte).Value fehlt ein d
LG UweD
Vielen Dank! Bin glücklich nun ! :)
17.02.2022 14:44:13
Dom
Hallo Uwe,
dass ist mir nun schon fast peinlich. Wie sagt man so schön : Erst sucht man die Nadel im Heuhaufen und dann sieht man den Wald vor lauter Bäume nicht....
Funktioniert einwandfrei nun. Jetzt kann ich die Abfrage noch ein wenig schön gestalten und bin dann vollends glücklich.
Besten Dank !!!
Zusätzliche Frage: Error Handling
17.02.2022 14:52:20
Dom
Aktuell verhält es sich auch so, dass alle Zellen gefüllt werden. Selbst wenn das Match Ergebnis FALSE ist, wird der Zelle ein Link hinzugefügt.
Ebenso wird auch wenn für diesen Monat keine Rechnung (Keine Hyperlink "Zelle") vorliegt ein Hyperlink hinterlegt.
Gibt es hierzu eine passende Error Handhabung in Form von IfError (Match...)?
LG Dominic
Anzeige
AW: Zusätzliche Frage: Error Handling
17.02.2022 15:48:11
peterk
Hallo
WorksheetFunction.match liefert eine Exception wenn nichts gefunden wurde (daher auch On Error Resume Next). Verwende Application.Match denn diese Funktion liefert einen Fehlerwert zurück (dann kannst Du auf On Error verzichten). Zeile und Spalte müssen dann aber als Variant definiert werden.
Beispiel:

Zeile = Application.match((Tabelle1.Cells(x, 10).Value), Tabelle1.Range("B1:B11"), 0)
If not IsError(Zeile) Then
Else
' nichts gefunden
End if
Peter
AW: Zusätzliche Frage: Error Handling
17.02.2022 15:50:08
Nepumuk
Hallo Dom Am,
teste mal:

Sub Hyperlink_setzen()
Dim Zeile As Variant, Spalte As Variant
Dim x As Long, y As Long
For x = 3 To 11
For y = 11 To 15
Zeile = Application.Match((Tabelle1.Cells(x, 10).Value), Tabelle1.Range("B1:B11"), 0)
Spalte = Application.Match(Tabelle1.Cells(2, y), Tabelle1.Range("A2:G2"), 0)
If Not IsError(Zeile) And Not IsError(Spalte) Then
ActiveSheet.Hyperlinks.Add Anchor:=Tabelle1.Cells(x, y), Address:=Cells(Zeile, Spalte).Text
End If
Next y
Next x
End Sub
Gruß
Nepumuk
Anzeige
AW: Zusätzliche Frage: Error Handling
17.02.2022 15:53:57
UweD
Hallo
so?

Sub Hyperlink_setzen()
Dim Zeile As Variant, Spalte As Variant
Dim x As Long, y As Long
For x = 3 To 11 'Zeilen
For y = 11 To 15 'Spalten
Zeile = Application.Match((Tabelle1.Cells(x, 10).Value), Tabelle1.Range("B1:B11"), 0)
Spalte = Application.Match(Tabelle1.Cells(2, y), Tabelle1.Range("A2:G2"), 0)
If IsNumeric(Zeile) And IsNumeric(Spalte) Then
ActiveSheet.Hyperlinks.Add Anchor:=Tabelle1.Cells(x, y), Address:=Cells(Zeile, Spalte).Value
Else
Tabelle1.Cells(x, y).Hyperlinks.Delete
End If
Next y
Next x
End Sub
LG UweD
Funktioniert alles Bestens.Vielen Dank nochmal!OwT
18.02.2022 08:43:20
Dom
Besten Dank an alle. Immer wieder erfreulich, dass man hier so schnelle und gute Hilfe bekommt.
LG
Domininc
Anzeige

230 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige