Hyperlink in einer Zelle auf Makro

Hallo,

ich habe div. Zellen und möchte beim Klick darauf jeweils einen zugeordneten Makro ausführen.

Ein Hyperlink auf eine Datei, eine Textmarke, eine Webseite … geht ja alles. Aber auf einen Makro?

Danke
Laika

Hallo Laika,
Klick auf bestimmte Zelle geht:

Der Code kommt in das entsprechende Tabellenblatt
Code:

Private Sub Worksheet\_SelectionChange(ByVal Target As Range) 

 If Target.Address = "$A$1" Then Call Absatz 'dein Makroname = Absatz 

End Sub 

Und dieser in ein Modul
Code:

Sub Absatz() 

 Range("A4:L65").Select 
 ActiveWindow.SmallScroll Down:=-48 
 Selection.Sort Key1:=Range("E5"), Order1:=xlDescending, Header:=xlGuess, \_ 
 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, \_ 
 DataOption1:=xlSortNormal 
 Selection.AutoFilter Field:=5, Criteria1:="10", Operator:=xlTop10Items 
 Range("E5").Select 

End Sub

Musste auf deine Bedürfnisse anpassen.

Gruß Skaletti!

Hallo Skaletti,

Der Code kommt in das entsprechende Tabellenblatt
Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address = „$A$1“ Then Call Absatz 'dein
Makroname = Absatz

End Sub

Dieser Code in ein Tabellenblatt? Das kenne ich noch nicht. Sowas gehört doch in einen Modul!?
Oder meinst du in einen Modul der Mappe?

Fragt Dich Laika

Moin, Laika,

Excel-VBA bietet an, den Code bei der Mappe, beim Blatt, als Modul oder als Klassenmodul anzulegen. Je nachdem wird der Code dann beim Öffnen der Mappe, des Blattes oder beim expliziten Aufruf ausgeführt.

Der Code kommt in das entsprechende Tabellenblatt

Genauer: zum Tabellenblatt.

Gruß Ralf

Hallo Laika,

Dieser Code in ein Tabellenblatt? Das kenne ich noch nicht.

tja nun, du bist zu jung :smile:
Früher, sehr viel früher stand der Code noch real in einem Blatt. Sogar mit deutscher Schriftweise.
Jetzt ist er in Englisch, nennt sich Vba und steht wie du richtig sagst in Modulen (im VB-Editor sichtbar).

Oder meinst du in einen Modul der Mappe?

Ja.
Wenn du mit Alt+F11 den VB-Editor öffnest siehst du links unterhalb des Projektes (=deine mappe) die darin enthaltenen Module.

Wenn du hier oder im Internet liest, dieser Code gehört in ein Standadrdmodul, in Modul1, in basmain o.ä. so ist damit immer gemeint, er gehört in ein Modul was du selbst erzeugen mußt sofern noch nicht vorhanden.

Also das mit Einfügen—Modul. Bei jedem Modul was du dadurch einfügst erhöht Excel den Index, also heißt das erste Modul1, das zweite Modul2 u.s.w.
Aber sie sind absolut gleichwertig, völlig gleich wo der Code steht.

Nun gibt es dahingegen die schon vorhandenen Module, DieseArbeitsmappe, Tabelle1, Tabelle2 usw.
Das sind alles von Excel vorgegebene Klassenmodule, aber bringt jetzt nix das weiter auszuführen.

Für dich ist einzig wichtig, wenn du von irgendwo her Code bekommst und es steht dabei, gehört ins Blatt, gehört in Tabelle1, ins Blattmodul u.v.m., daß du dann im VB-Editor einen Doppelklick auf den Blattnamen machst und da den Code einträgst.
Dito für „Diese Arbeitsmappe“

Frag gerne nach wenn ich mich unklar ausgedrückt habe.

Gruß
Reinhard