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

Makro per Hyperlink starten

Forumthread: Makro per Hyperlink starten

Makro per Hyperlink starten
GTFuchs
Hallo,
ich möchte ein Makro per Hyperlink starten, ich weiß ich bin nicht der erste mit diesem Wunsch.
Diese Anleitung hier ist schon ganz nah dran:
https://www.herber.de/xlfaq/workshop/hype2macro/hype2macro.html
Ich schaffe es aber nicht, mit benannten Zellen anstelle von Zelladressen zu arbeiten und muss unbedingt mit Namen arbeiten.
Sobald ich im Schritt 2 unter "Geben Sie den Zellbezug ein" nicht eine Adresse sondern einen Namen angebe weigert sich Excel diesen zu übernehmen.
Hat jemand eine Idee ?
Viele Grüße,
Gerd
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro per Hyperlink starten
13.09.2010 01:04:52
Beate
Hallo Gerd,
am Beispiel von Zelle A1:
Markiere die Zelle und füge einen Hyperlink ein, der sich auf sich selbst bezieht, also A1.
Definiere für Zelle A1 einen Namen, z.B. Test.
Füge ins Codefenster der Tabelle folgendes Makro ein:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    If Target.Name = "Test" Then Makro1
End Sub

Und in ein allgemeines Modul schreibst du folgenden Code:
Sub Makro1()
    MsgBox "Test gelungen"
End Sub

Dann erfolgt mit Klick auf A1 die MsgBox: "Test gelungen"
Gruß,
Beate
Anzeige
AW: Makro per Hyperlink starten
13.09.2010 10:25:44
GTFuchs
Hallo Beate,
es läuft bei mir noch nicht so ganz. Die Eigenschaft "Target.Name" zeigt bei mir nicht den Namen der Zelle, sondern das Wort, welches in der Zelle steht.
Wenn in Zelle A1 also steht "Verbindungstest" und die Zelle heißt Test1, dann zeigt Target.Name "Verbindungstest" und der Vergleich im If geht schief.
Leider kann ich nicht immer Zelleinhalt und Zellnamen gleich setzen.
Viele Grüße,
Gerd
Anzeige
Ergänzung
13.09.2010 10:41:30
GTFuchs
Die Eigenschaft Target.Name ist etwas merkwürdig ....
A: Zellinhalt und Namen gleich = Funktioniert
B: Zellinhalt und Name gleich, Zellinhalt dann geändert = Funktioniert
B: Zellinhalt und Name sofort unterschiedlich vergeben = Funktioniert nicht
Target.Name scheint den ersten vergebenen Zellinhalt zurückzugeben, unabhängig vom aktuellen Zellinhalt.
Anzeige
Den Namen kann man aber auch aus der...
13.09.2010 09:00:45
Luc:-?
…Liste auswählen, Gerd,
wenn du den Bezug zum Arbeitsblatt mit Klick auf den entsprechenden Button der HL-Anzeige herstellst.
Gruß Luc :-?
AW: Den Namen kann man aber auch aus der...
13.09.2010 10:30:24
GTFuchs
Ja, das stimmt. Ich habe auch versucht die Zelle des Hyperlinks zu benennen und dann auf diesen Namen in der Auswahlliste zu verweisen.
Ich schaffe es aber nicht, mit diesem Namen im Makro zu arbeiten. Er akzeptiert nur die Zelladresse.
Viele Grüße,
Gerd
Anzeige
Das wäre ja auch ein etwas anderes Problem,...
13.09.2010 18:06:04
Luc:-?
…Gerd,
das du möglicherweise nicht ganz richtig angehst. Mit …Range("zellname") kann man _ ja einen Bereichsnamen in VBA verwenden, wobei ich die Variante mit Konstanten vorziehe, weil sich ein Pgm so leichter ändern lässt…

Const txRgName As String = "zellname"
…Range(txRgName)…
Es könnte allerdings sein, dass das beim Setzen eines HL mit VBA nicht akzeptiert wird, denn auch beim manuellen Setzen wird der Name sofort durch die Zelladresse ersetzt…
Gruß Luc :-?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro über Hyperlink in Excel aktivieren


Schritt-für-Schritt-Anleitung

  1. Zelle A1 vorbereiten: Markiere die Zelle A1 in deinem Excel-Dokument.

  2. Hyperlink einfügen: Füge einen Hyperlink hinzu, der sich auf A1 bezieht. Das kannst du tun, indem du mit der rechten Maustaste auf die Zelle klickst und „Hyperlink“ wählst.

  3. Namen definieren: Vergib für Zelle A1 einen Namen, beispielsweise „Test“. Gehe dazu auf „Formeln“ und wähle „Namensmanager“ oder direkt die Option „Namen definieren“.

  4. VBA-Code einfügen: Öffne den VBA-Editor (ALT + F11) und füge im Codefenster der Tabelle folgenden Code ein:

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
        If Target.Name = "Test" Then Makro1
    End Sub
  5. Makro erstellen: Erstelle ein allgemeines Modul und füge den folgenden Code ein:

    Sub Makro1()
        MsgBox "Test gelungen"
    End Sub
  6. Testen: Klicke auf die Zelle A1. Es sollte eine MsgBox erscheinen mit der Meldung „Test gelungen“.


Häufige Fehler und Lösungen

  • Fehler: Target.Name zeigt den Zellinhalt an, nicht den Namen.

    • Lösung: Stelle sicher, dass der Zellinhalt und der Name gleich sind, oder verwende Range("Test") im Makro, um den Namen direkt anzusprechen.
  • Fehler: Hyperlink funktioniert nicht wie gewünscht.

    • Lösung: Prüfe, ob der Hyperlink korrekt auf die Zelle A1 verweist und ob der Name in den Namensmanager korrekt eingetragen wurde.

Alternative Methoden

Eine alternative Methode könnte die Verwendung von Schaltflächen oder Formularelementen sein, um ein Makro zu starten. Du kannst eine Schaltfläche einfügen und ein Makro zuweisen:

  1. Gehe zu „Entwicklertools“ und wähle „Einfügen“.
  2. Füge eine Schaltfläche hinzu und weise das Makro „Makro1“ zu.
  3. Klicke auf die Schaltfläche, um das Makro auszuführen.

Praktische Beispiele

Ein Beispiel für den Einsatz eines Makros könnte ein „Verbindungstest“ sein:

  1. Setze in Zelle A1 den Text „Verbindungstest“.
  2. Vergib den Namen „VerbindungstestA1“ für die Zelle.
  3. Passe den VBA-Code an, um auf diesen Namen zu reagieren:

    If Target.Name = "VerbindungstestA1" Then Makro1

Wenn du jetzt auf den Hyperlink klickst, wird die MsgBox ausgegeben.


Tipps für Profis

  • Namen effizient nutzen: Verwende konsistente und aussagekräftige Namen für deine Zellen, um die Lesbarkeit und Wartung deines VBA-Codes zu verbessern.
  • Debugging: Nutze die Debugging-Funktionen von VBA, um zu prüfen, ob die richtigen Werte übergeben werden, insbesondere bei der Verwendung von Target.Name.

FAQ: Häufige Fragen

1. Warum funktioniert mein Hyperlink nicht?
Stelle sicher, dass der Hyperlink korrekt auf die Zelle verweist und dass der Name richtig definiert wurde.

2. Kann ich mehrere Makros über Hyperlinks starten?
Ja, du kannst für verschiedene Namen unterschiedliche Makros aufrufen, indem du entsprechende If-Bedingungen im VBA-Code hinzufügst.

3. Welche Excel-Version benötige ich?
Die beschriebenen Schritte sind in Excel 2010 und späteren Versionen anwendbar.

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