Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro über Hyperlink aufrufen

Forumthread: Makro über Hyperlink aufrufen

Makro über Hyperlink aufrufen
christian
Hallo zusammen,
ich bräuchte Unterstützung bei VBA :-)
In einer Tabelle möchte ich gerne in einer Spalte Hyperlinks hinterlegen, über die jeweils ein Makro aufgerufen werden soll. Leider habe ich bis dto. im Netz noch nichts finden können.
Kann mir hier jemand weiterhelfen. Wäre super.
Im Voraus für Eure Hilfe besten Dank.
Grüße
Chris
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro über Hyperlink aufrufen
23.01.2012 18:00:45
Hajo_Zi
Hallo Chris,
benutze
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

AW: Makro über Hyperlink aufrufen
24.01.2012 12:44:22
christian
Hi Hajo,
danke für die schnelle Antwort. Mit der Routine habe ich es auch schon versucht. Allerdings kenne ich nicht den Befehl, wie ich in der Routine dann ein Makro aufrufen kann.
Vielleicht sollte ich auch etwas konkreter in meiner Anforderung werden :-)
Folgenden Code habe ich verwendet, um einen Link zu erzeugen:
ws1.Hyperlinks.Add _
Anchor:=ws1.Cells(z1, S13), _
Address:="", _
SubAddress:=""
ws1.Cells(z1, S3).Font.Size = 8
ws1.Cells(z1, S13).Font.Underline = False
ws1.Cells(z1, S13) = "I"
Wenn ich in meiner Tabelle auf das "I" drücke, soll ein Makro gestartet werden. Und das bekomme ich einfach nicht hin :-(
Hast Du da eine Idee?
Viele Grüße
Christian
Anzeige
AW: Makro über Hyperlink aufrufen
24.01.2012 14:42:51
Heiko
Moin Christian,
vielleicht solltest du noch konkreter werden mit deinen Anforderungen.
Wieso willst du ein Makro an einen Hyperlink anbinden?
Hyperlinks sind dazu vorgesehen auf Dateien, Webseiten, E-Mails, Ordner usw. zu verlinken, wie der Name Hyperlink ja sagt.
Um ein Makro zu starten hat EXCEL (Office) andere Tools, wie zum Beispiel Commandbuttons, rechter Mausklick, Doppelklick usw.
Außerdem bezweifel ich das man so einfach eine Makro an einen Hyperlink anbinden kann.
Also was willst du genau erreichen und wozu?!
Gruß Heiko
Anzeige
AW: Makro über Hyperlink aufrufen
24.01.2012 16:16:29
christian
Hallo Heiko,
ich habe in einer Tabelle Wertpapierdaten, welche ich mir aus dem Netz (finanztreff.de) in Excel ziehe.
Für jedes gespeicherte Wertpapier gibt es nochmals spezielle Wertpapierinfos.
Das Makro, welches über den Hyperlink gestartet werden soll, geht auf die Homepage der Seite und liest die entsprechenden Informationen des gewünschten Wertpapieres aus.
Das Makro wird hierzu mit Parametern wie WKN etc. gefüttert und sucht sich die Informationen auf der Seite.
Da meine Wertpapiertabelle sich ständig ändert, möchte ich keine Buttons in der Tabelle haben. Das hatte ich früher. Daher die Idee, das Makro über einen Hyperlink zu starten, welcher automatisch angelegt wird, sobald das Wertpapier angelegt worden ist.
Wenn es natürlich andere Möglichkeiten gibt, durch anklicken des "I" mein Makro zu starten, wäre das natürlich auch ok :-)
Bezieht sich auf diese Nachricht:
Anzeige
AW: Makro über Hyperlink aufrufen
25.01.2012 08:28:50
Heiko
Moin Christian,
wie eine gute Bekannte von mir immer sagt: "Sprechenden Menschen kann geholfen werden!"
Also da war der Vorschlag von Hajo schon richtig.
Hier mal ein Beispiel:
Option Explicit
' In das der Codefenster der Tabelle wo die Hyperlinks hinterlegt sind.
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
' Da ich keine Ahnung habe wo die Daten zum füttern herkommen, hier mal ein Beispiel
' wie man auf die Daten des Hyperlinks zugreifen kann.
DeinMakro CStr(Target.Range.Address), CLng(Target.Range.Column)
End Sub

Public Function DeinMakro(strWKN As String, lngISN As Long)
MsgBox strWKN & "    " & lngISN
End Function
Gruß Heiko
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro über Hyperlink aufrufen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und gehe zu dem Arbeitsblatt, in dem du die Hyperlinks erstellen möchtest.

  2. Füge den Hyperlink hinzu. Du kannst dies über den folgenden VBA-Code tun:

    ws1.Hyperlinks.Add _
        Anchor:=ws1.Cells(z1, S13), _
        Address:="", _
        SubAddress:=""
  3. Setze die Schriftgröße und das Format für die Zelle, in der der Hyperlink angezeigt werden soll:

    ws1.Cells(z1, S3).Font.Size = 8
    ws1.Cells(z1, S13).Font.Underline = False
    ws1.Cells(z1, S13) = "I"
  4. Verwende das Worksheet_FollowHyperlink Ereignis, um das Makro auszuführen, wenn der Hyperlink angeklickt wird:

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
        DeinMakro CStr(Target.Range.Address), CLng(Target.Range.Column)
    End Sub
  5. Definiere dein Makro, das die gewünschte Funktionalität übernimmt:

    Public Function DeinMakro(strWKN As String, lngISN As Long)
        MsgBox strWKN & "    " & lngISN
    End Function

Häufige Fehler und Lösungen

  • Hyperlink funktioniert nicht: Stelle sicher, dass der Hyperlink korrekt hinzugefügt wurde und dass die Zelle, die den Hyperlink enthält, nicht geschützt ist.

  • Makro wird nicht ausgeführt: Überprüfe, ob die Makros in den Excel-Einstellungen aktiviert sind. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ > „Einstellungen für das Trust Center“ und aktiviere die Makros.

  • Fehlermeldung beim Aufruf des Makros: Achte darauf, dass die Parameter im Makro korrekt übergeben werden. Die Datentypen müssen übereinstimmen.


Alternative Methoden

Wenn du es bevorzugst, keine Hyperlinks zu verwenden, gibt es alternative Methoden, um ein Makro in Excel zu starten:

  • Command Buttons: Du kannst einen Button in deinem Arbeitsblatt platzieren und diesem Button das Makro zuweisen.

  • Rechter Mausklick: Du kannst ein Makro auch über ein Kontextmenü starten, indem du das Makro dem „Rechtsklick“-Menü hinzufügst.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du ein Makro aufrufen kannst, wenn du auf einen Hyperlink klickst:

  1. Erstelle eine Hyperlink-Zelle in der Tabelle.

  2. Füge den folgenden VBA-Code in das Codefenster der Tabelle ein:

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
        DeinMakro "WKN123456", Target.Range.Column
    End Sub
  3. Definiere das Makro:

    Public Function DeinMakro(strWKN As String, lngISN As Long)
        MsgBox "WKN: " & strWKN & ", ISN: " & lngISN
    End Function

Jetzt wird beim Klicken auf den Hyperlink eine Meldung mit der WKN angezeigt.


Tipps für Profis

  • Verwende die Option Explicit Anweisung am Anfang deiner Module. Dies zwingt dich dazu, alle Variablen zu deklarieren, was häufige Fehler vermeidet.

  • Debugging: Nutze die Debugging-Tools von VBA, um Fehlerquellen zu identifizieren. Setze Breakpoints und überprüfe die Werte der Variablen während der Ausführung.

  • Dokumentation: Halte deine Makros und Funktionen gut dokumentiert. Dies ist besonders nützlich, wenn du mit anderen an Projekten arbeitest oder später auf deinen Code zurückgreifen möchtest.


FAQ: Häufige Fragen

1. Kann ich mehrere Makros über verschiedene Hyperlinks aufrufen?
Ja, du kannst für jeden Hyperlink unterschiedliche Makros aufrufen, indem du den entsprechenden Code im Worksheet_FollowHyperlink Ereignis anpasst.

2. Was mache ich, wenn mein Hyperlink nicht klickbar ist?
Überprüfe, ob die Zelle, die den Hyperlink enthält, nicht geschützt ist und ob der Hyperlink korrekt als Hyperlink formatiert ist.

3. Funktioniert dies in allen Excel-Versionen?
Die beschriebenen Methoden funktionieren in den meisten modernen Excel-Versionen, die VBA unterstützen. Achte darauf, dass du eine Version hast, die Makros zulässt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige