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

Welcher Button wurde geklickt?

Welcher Button wurde geklickt?
30.07.2008 11:54:14
gerwas
Hallo Leute
Ich habe hier ein ExcelArbeitsblatt auf dem sich viele Buttons befinden. Wie kann ich per Makro herausbekommen, welchen Button der User geklickt hat?
Ähnlich der Ereignisauswertung Worksheet_Change(ByVal Target As Range).
Gibts so etwas? Ich brauche den Namen des Buttons für die weitere Bearbeitung in dem an dem Button geknüpften Macro.
Das soll dann in etwa so aussehen:

Sub Button_geklickt()
If Button.Name="3055" then Call code3055
ElseIf Button.Name="3087" Then Call code3087
End If
End Sub


Gerwas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Welcher Button wurde geklickt?
30.07.2008 11:57:27
mpb
Hallo,
den Satz " Ich brauche den Namen des Buttons für die weitere Bearbeitung in dem an dem Button geknüpften Macro." verstehe ich nicht. Was willst Du denn da noch abfragen, es ist doch eindeutig, dass der Button angeklickt wurde, mit dem der Code verknüpft ist. Villeicht kannst Du das noch einmal erläutern.
Gruß
Martin

AW: Welcher Button wurde geklickt?
30.07.2008 12:42:33
gerwas
Wie schon gesagt, das ExcelSheet hat viele Buttons. Die werden alle per VBA erzeugt und allen wird das Macro "mp_open" zugewiesen. Wenn ich jedem Button ein eigenes Macro zuweisen wollte müßte ich ja per VBA VBA-Code erzeugen...
Der Hintergrund ist der: Durch Klick auf den Button soll eine txtdatei erzeugt werden die als Datenquelle für eine Dokumentvorlage dient. Je nachdem welcher Button gedrückt wird ist der Inhalt der txtdatei anders. Die Dokumentvorlage liest beim Öffnen die txtdatei und füllt dann entsprechende Felder je nach deren Inhalt.
ich erzeuge die Buttons in einer Schleife wie folgt:
ActiveSheet.Buttons.Add(ActiveCell.Left, ActiveCell.Top, ActiveCell.Width, ActiveCell.Height * 2).Select
Selection.OnAction = "mp_open"
Selection.Name=gerät & "_" & bereich & "_" & nummer

Das funktioniert! Versuche ich aber dem OnAction-Macro Parameter zu übergeben kommt einen Fehlermeldung!
Selection.OnAction = "mp_open_mit_parametern " & gerät & "," & bereich & "," & nummer
Deshalb bin ich auf die Idee mit dem Namen gekommen. Nur ich kann ihn nicht auslesen, weil ich nicht weiss, welcher Button geklickt wurde...
Gerwas

Anzeige
AW: Welcher Button wurde geklickt?
30.07.2008 12:48:00
Rudi
Hallo,

Sub makro()
MsgBox ActiveSheet.Shapes(Application.Caller).Name
End Sub


Gruß
Rudi

AW: Welcher Button wurde geklickt?
30.07.2008 16:33:00
gerwas
Rudi du bist der größte! Genau das habe ich gesucht!!

AW: Welcher Button wurde geklickt?
30.07.2008 12:48:00
Heiko
Hallo Gerwas,
für solche Fälle gibt es diesen Befehl:
Application.Caller
Er gibt den Namen des Buttons zurück wenn du Ihn in den Code "hinter" den Buttons einfügst.
Gruß Heiko
PS: Rückmeldung wäre nett !

AW: Welcher Button wurde geklickt?
30.07.2008 15:21:44
gerwas
Danke Heiko - es funktioniert

AW: Welcher Button wurde geklickt?
30.07.2008 16:32:10
gerwas
Danke Heiko - es funktioniert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge