VBA Shapes

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 97
nach unten

Betrifft: VBA Shapes
von: Stefan
Geschrieben am: 26.04.2002 - 11:47:51

Hallo,

ich wäre sehr dankbar für einen Tip wie es sich ermittleln lässt von welchem Shape-Objekt ein bestimmtest Sub aufgerufen worden ist. Sprich, das Sub muss als erstes "herausfinden, von welchem Shape (Button) es aufgerufen wurde.

Vielen Dank im Vorraus!

Gruß
Stefan


nach oben   nach unten

Eine Möglichkeit...
von: Rolf Kersjes
Geschrieben am: 26.04.2002 - 11:59:51

Hallo Stefan, bin nicht ganz sicher, wie du es gemeint hast. Hier eine Möglichkeit:
Private Sub CommandButton1_Click() Call Hauptsub("CB1") End Sub Private Sub CommandButton2_Click() Call Hauptsub("CB2") End Sub Sub Hauptsub(ByVal Aufruf As String) Select Case Aufruf     Case Is = "CB1"     MsgBox "Wurde von " & Aufruf & " aufgerufen"     '.....     Case Is = "CB2"     MsgBox "Wurde von " & Aufruf & " aufgerufen"     '.....     Case Else     '.... End Select End Sub
Rolf

nach oben   nach unten

Re: Eine Möglichkeit...
von: Stefan
Geschrieben am: 26.04.2002 - 12:17:12

Hallo Rolf, danke für die schnelle Antwort, aber ich habe folgendes vor: Ich habe in einem Excel-Sheet z.B. 20 Buttons die ähnliche Aktionen in der Excel-Tabelle vornehemen sollen. Im normalfall sind diese jeweils einem Makros zugeordnet. Also hätte ich Sub Button1() ... ... ... end sub Sub Button2() ... ... ... end sub Sub Button3() ... ... ... end sub Ich wollte aber nun nicht 20 Subs bauen, sondern nur ein. Sub AlleButtons() "Von welchem Button wurde ich aufgerufen??" Case Button 1 ... Case Button 2 ... end sub Ich hoffe das war ein wenig verständlicher ausgedrückt... vielleicht hast Du das ja eine Idee? Danke. Stefan

nach oben   nach unten

Geht nicht....
von: Rolf Kersjes
Geschrieben am: 26.04.2002 - 12:24:56

Hallo Stefan, Jedes Button hat doch eine eigene Sub im Klassenmodul des Arbeitsblattes und erst von dort wird dann das Hauptmodul aufgerufen. dann kannst du auch den Namen der aufrufenden Sub mitgeben. Rolf

nach oben   nach unten

Re: Geht nicht....
von: Stefan
Geschrieben am: 26.04.2002 - 12:28:18

Hi, naja, ich wollte ja jedem Button das selbe Makro zuordnen! Ich muss doch dann die Möglichkeit haben zu ermitteln, welcher Button zuletzt geklickt wurde, oder nicht ? Stefan

nach oben   nach unten

Re: VBA Shapes
von: Coach
Geschrieben am: 26.04.2002 - 12:34:06

Hallo Stefan, hier eine prinzipielle Möglichkeit: Sub test3() Select Case TypeName(Application.Caller) Case "Range" v = Application.Caller.Address Case "String" v = Application.Caller Case "Error" v = "Error" Case Else v = "unknown" End Select MsgBox "caller = " & v End Sub Gruß Coach

nach oben   nach unten

Re: VBA Shapes
von: Stefan
Geschrieben am: 26.04.2002 - 12:37:55

Hey Coach! genau das habe ich gesucht! 1000 Dank! Stefan :))
 nach oben

Beiträge aus den Excel-Beispielen zum Thema "VBA Shapes"