Self-referencing, in einer Excel-VBA-Steuerelement
Ich versuche, einen Wert der Eigenschaft des button-Steuerelements aus dem inneren der Schaltfläche click-Ereignis ohne mit der Schaltfläche Namen (da möchte ich den gleichen code für jede der vielen Tasten auf dem Excel-Blatt).
Nach viel Forschung, ich sehe viele Verweise auf versuchen Sie Folgendes:
Me.ActiveControl.name
oder
Me.Shapes(Application.Caller).Name
Jedoch, diese beiden Fehler ausgeführt, wenn Sie innerhalb von Excel. Beachten Sie, dass ich Sie mit Excel 2010.
Vielen Dank für jede Hilfe im Voraus.
Lee
- Wo ist der code? In ein standard-Modul?
- Der code befindet sich in der _Click-Ereignis der Schaltfläche selbst
- Was ist die spezifische Fehlermeldung, die Sie bekommen? Ich Stimme mit @CoolBlue. "Ich" würde in der Regel finden Sie das Arbeitsblatt, in dem der code ausgeführt wird, aber ich Wette, dass Ihr code nicht in ein Arbeitsblatt, es ist in einem normalen Modul. Ich würde Wetten, Ihre Fehler "Ungültige Verwendung von 'Mir' Schlüsselwort."
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie wollen, ist möglich, aber für Sie, dass müssen Sie erstellen eine
Class
Tun.
Legen Sie eine Klasse Modul und füge diesen code dort ein.
Nächsten ein Modul Einfügen und den code dort
Nun führen Sie einfach die
Sub StartCode()
Weiter, wenn Sie auf das ActiveX-CommandButton, dann erhalten Sie Ihren Namen.
inside the button's click event
und 2ndlyApplication.Caller
wird Ihnen ein Fehler für ActiveX-Steuerelemente. Aber mal sehen, was OP zu sagen hat.Versuchen
ActiveSheet.Shapes(Application.Caller).Name
Run-time error '-2147352571 (80020005)': The item with the specified name wasn't found.
Das Problem mitApplication.Caller
, daDebug.Print TypeName(Application.Caller)
zurückError
.