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

Hyperlink-Prüfung bei Shapes

Hyperlink-Prüfung bei Shapes
30.08.2020 18:40:11
Harald
Vielleicht stehe ich auf der Leitung, aber ich finde keine Möglichkeit,
für ein bestimmtes Shape zu prüfen, ob diesem ein Hyperlink zugeordnet ist.
Letztendlich geht es darum, bei einigen (nicht bei allen!) Shapes in einem Tabellenblatt die eventuell dort vorhanden Hyperlinks zu entfernen. Wenn ein Hyperlink vorhanden ist, dann klappt das mit hyperlink.delete sehr gut.
Wenn aber kein Hyperlink vorhanden ist, dann kommt es zu einen Laufzeitfehler 1004.
Ich könnte das natürlich mit "on error resume next" abfangen, finde das aber nicht sehr elegant.
Kennt jemand eine "elegante" Lösung?
DANKE im Voraus
Harald

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink-Prüfung bei Shapes
30.08.2020 19:10:56
Nepumuk
Hallo Harald,
da wird dir nichts anderes übrig bleiben als On Error Resume Next zu benutzen, denn du läufst auf alle Fälle in einen Fehler wenn du einen nicht vorhandenen Hyperlink bei einem Shape abfragst.
Gruß
Nepumuk
AW: Hyperlink-Prüfung bei Shapes
30.08.2020 19:24:06
Nepumuk
Hallo Harald,
die einzige Möglichkeit On Error Resume Next zu vermeiden, du weist erst einen Hyperlink zu und löschst ihn dann wieder. Ob das sinnvoll ist lasse ich mal dahingestellt.
Public Sub DeleteHyperlinks()
    Dim objShape As Shape
    For Each objShape In Tabelle1.Shapes
        Tabelle1.Hyperlinks.Add Anchor:=objShape, Address:=""
        objShape.Hyperlink.Delete
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Hyperlink-Prüfung bei Shapes
30.08.2020 21:29:48
Mullit
Hallo Nepumuk,
ich hätte hier auch noch eine Möglichkeit, mit der Worksheet.Hyperlinks-Coll., aber ob so ein Doppelloopgehoppel, das wahre ist...Da ist On Error viell. doch die Alternative...
Option Explicit
Public Sub test()
Dim objShape As Shape
Dim objHyperlink As Hyperlink
For Each objShape In ActiveSheet.Shapes
For Each objHyperlink In ActiveSheet.Hyperlinks
If objShape Is objHyperlink.Parent Then
Call objHyperlink.Delete
Exit For
End If
Next
Next
End Sub

Gruß, Mullit
AW: Hyperlink-Prüfung bei Shapes
01.09.2020 22:40:16
Mullit
Hallo,
wieso überhaupt Doppelloop, das geht dann auch mit einem, war ich jetzt aber auch irgendwie blind...argh...;-)
Public Sub test()
Dim objHyperlink As Hyperlink
For Each objHyperlink In ActiveSheet.Hyperlinks
If TypeOf objHyperlink.Parent Is Excel.Shape Then _
Call objHyperlink.Delete
Next
End Sub

Gruß, Mullit
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige