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,
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 = AbsatzEnd 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 
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