Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Objektname auf Tabellenblatt

Objektname auf Tabellenblatt
11.07.2014 15:31:35
Ralf
Hallo,
ich habe auf einem Blatt viele CommandButtons (und anderes mehr), denen bei Click das entsprechende Ereignis zugewiesen ist.
Die aufzurufenden Makros heißen wie die Button + vorangestelltem Ident-String, weswegen ich eine einheitliche Befehlszeile verwenden könnte.
Ist es möglich im Code des Ereignisses den Namen den geklickten Buttons festzustellen?
Danke!
Gruß
Ralf

Option Explicit
Const MAKROPFAD As String = "W:\FERTIGUNGSUNTERLAGEN\KL_Konfektionierungslisten\Makros\"
Const MAKRODATEI As String = "Makro_KL_V002.xlam"
'... viele weitere Buttons ...
Private Sub btnMaterialnachforderung_Click()
Dim objName
objName = GeradeGedrueckterButton.Name 

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Objektname auf Tabellenblatt
11.07.2014 16:39:29
herbert
Hallo Ralf,
das ist möglich und zwar so: ActiveSheet.Shapes(Application.Caller).Name
Servus

AW: Objektname auf Tabellenblatt
11.07.2014 17:34:43
Nepumuk
Hallo,
so geht's leider nicht Herbert, das liefert nämlich im Fall eines Commandbuttons den Fehler 2023 (#BEZUG!) zurück.
@Ralf: Wenn du dich dazu überwinden könntest die Events der Buttons über eine Klasse abzufangen, dann wäre es ganz einfach.
Gruß
Nepumuk

AW: Objektname auf Tabellenblatt
11.07.2014 18:46:23
Ralf
Hallo Nepumuk,
Danke für den Hinweis.
Ich habe gerade noch mal (allerdings zuhause mit XL2003) rumprobiert.
Habe mit Windows(1).Selection.ShapeRange(1) laut VBA-Hilfe ohne Erfolg gefummelt.
Die Klasse muss sicherlich in dem Dokument sein, wo der Button ist?
Ich möchte so wenig Code wie möglich in der Datei. Aller Code soll in dem aufgerufenen Add-In enthalten sein. Ändert sich was, soll nur das Add-In angepasst werden.
Vllt. kannst du ein knappes Beispiel posten, woran ich erkenne, was für ein Aufwand das wäre.
Mit Klassen habe ich noch nichts gemacht.
Gruß
Ralf

Anzeige
AW: Objektname auf Tabellenblatt
11.07.2014 19:48:21
Nepumuk
Hallo,
sind alle diese Buttons auf einer Tabelle? Haben alle die selbe Funktion?
Gruß
Nepumuk

AW: Objektname auf Tabellenblatt
11.07.2014 21:27:55
Nepumuk
Nochwas,
sind die Buttons in der Tabelle Einträgen zugeordnet die sich auf die Tabelle verteilen, oder irgendwie schön säuberlich gruppiert? Dann wäre zu überlegen ob du mit einer Listbox nicht besser fährst, denn dann würde ein einziges Makro mit wenigen Zeilen genügen.
Gruß
Nepumuk

AW: Objektname auf Tabellenblatt
11.07.2014 22:15:36
Ralf
Hallo Nepumuk,
nein, leider sind es sowohl buttons, checkboxen als auch optionbuttons.
Ich habe hier leider nur uralten Code, sonst würde ich den pasten.
Ist immer das gleiche Muster:
Button-, Checkbox-, Optionbutton-Event
Ist immer nur eine Zeile Code, was mit .Run das Makro im Add-In aufruft.
Das ist nun auch nicht so dramatisch. Ich wollte nur den Code bissl vereinfachen.
Zerbrich dir deshalb nicht den Kopf ;-).
Was ich nicht verstehe: dass man nicht das aktive/selektierte Shape (ist es denn noch aktiv?) von .Parent (ist das Blatt) abfragen/benutzen kann?!? Es wurde doch gerade gedrückt und muss doch aktiv/selektiert sein?
Laut Hilfe (von XL2003) soll das mit shaperange gehen.
Gruß
Ralf

Anzeige
AW: Objektname auf Tabellenblatt
12.07.2014 09:15:58
Nepumuk
Hallo,
ich hab dir mal ein einfaches Beispiel erstellt. Schau es dir etwas genauer an, denn auf der Basis kannst du weitermachen.
https://www.herber.de/bbs/user/91481.xlsm
Gruß
Nepumuk

Vielen Dank! [owT]
14.07.2014 09:27:26
Ralf

AW: Objektname auf Tabellenblatt
11.07.2014 19:43:57
herbert
Hallo Nepumuk,
Du hast natürlich recht, sorry Ralf, da habe ich nicht richtig hingeschaut. Aber vielleicht könntest Du anstatt eines CommandButtons ein Grafikobjekt verwenden, dann würde es funktionieren. Aber, wie gesagt, nur wenn Du nicht unbedingt den CB brauchst.
Servus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige