HERBERS Excel-Forum - das Archiv

Thema: mit "=BILD" verlinkten Bildern Makros ausführen?

mit "=BILD" verlinkten Bildern Makros ausführen?
Marco1981
Ich habe ein Dokument, in dem ich sehr viele Bilder habe, die gleichzeitig als Buttons fungieren und Makros ausführen. Dieses Dokument wird auch ständig erweitert und es kommen immer mehr Bilder dazu, entsprechend größer und größer wird die Datei.
Jetzt bin ich auf die "=BILD" Funktion gestoßen, mit der ich die Bilder einfach von extern verlinken könnte, ohne dass die Dateigröße immer mehr wird, allerdings scheint es keine Möglichkeit zu geben, diesen derart verlinkten Bildern dann auch Makros zuzuweisen?
Weiß da vielleicht jemand eine Lösung oder einen Workaround?
Danke schonmal!
AW: mit "=BILD" verlinkten Bildern Makros ausführen?
schauan
Hallöchen,

verlinke die Zelle auf sich selbst und nimm dieses Ereignis:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
MsgBox 1
End Sub

Das wirkt allerdings nur, wenn das Bild in der Zelle ist und nicht über der Zelle.
AW: mit "=BILD" verlinkten Bildern Makros ausführen?
Marco1981
Danke für den Tip!
Das funktioniert erstmal hervorragend, allerdings wenn ich mehr als 1 Link/Bild auf dem Tabellenblatt habe, führt halt jeder Link das selbe Makro aus, ich bräuchte allerdings für jeden Link ein anderes Makro. Ist das auch irgendwie möglich?
Danke!
AW: mit "=BILD" verlinkten Bildern Makros ausführen?
Oberschlumpf
Hi,

da du ja nix zeigen willst, z Bsp ne Bsp-Datei per Upload mit genügend Bsp-Daten (Bildern) und deinen bisherigen Makro-Versuchen, kann zumindest ich nur raten, was helfen könnte.

Angenommen, mit der Idee von schauan kann man wirklich nur 1 einziges Makro aufrufen, kannst du dieses 1 Makro dann nicht so programmieren, dass z Bsp das 1 Makro aus jeder verlinkten Zelle mit 1 Paramater, z Bsp der Zell-CallerID, aufgerufen wird? Du bist ja VBA gut, damit sollte das doch eigtl möglich sein...

Und abhängig von der Zelle, die das Makro gestartet hat, reagierst du dann in dem Makro entsprechend, z Bsp mit Select Case, um damit z Bsp weitere Makros aufzurufen, die dann wirklich das tun, was du erreichen willst.

Ciao
Thorsten
AW: mit "=BILD" verlinkten Bildern Makros ausführen?
Marco1981
Danke für die Hilfe!

Ich hab das jetzt so gelöst:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

If Target.Range.Address = "$E$11" Then
Mein Code
End If
End Sub


funktioniert wie gewünscht.
AW: mit "=BILD" verlinkten Bildern Makros ausführen?
schauan
Hallöchen,

jupp, wollte ich auch gerade schreiben - als Ansatz in meinem Code

MsgBox ActiveCell.Address

:-)

AW: mit "=BILD" verlinkten Bildern Makros ausführen?
schauan
... ach so, Target.Address sollte auch reichen :-) und schaue Dir ruhig mal, wie von Thorsten vorgeschlagen, Select Case Target.Address an und zuweilen ist es auch nicht verkehrt, den "Mein Code" in ein Sub oder eine Function auszulagern
AW: mit "=BILD" verlinkten Bildern Makros ausführen?
Marco1981
Target.Address habe ich auch erst versucht, aber das liefert nur das Tabellenblatt - Target.SubAddress hat dann die exakte Zelle geliefert, so funktioniert es auch :)
danke jedenfallls für alle Tips! Ich werde jetzt sicher eine passende Lösung finden! :)