Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
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
ActiveX-CommandButton ein Makro zuweisen
13.05.2023 19:35:26
Peter_S

Ich möchte per VBA ActiveX-CommandButton anlegen und diesen Makros zuweisen. Das Anlegen ist kein Problem aber eine Zuweisung mit OnAction oder OnClick funktioniert nicht.
Ich möchte ActiveX-Schaltflächen verwenden, um die Schaltflächen zu formatieren (Farbe, Schrift, ...).

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

Betreff
Datum
Anwender
Anzeige
AW: ActiveX-CommandButton ein Makro zuweisen
13.05.2023 19:48:20
RPP63
Moin!
Klicke im Entwurfsmodus beherzt doppelt auf die Schaltfläche.
Du landest sofort im (neu angelegten) richtigen Event.

Gruß Ralf


AW: ActiveX-CommandButton ein Makro zuweisen
13.05.2023 20:15:50
Peter
Die Zuweisung soll im Makro und nicht manuell erfolgen.

Ich habe eine Startseite mit Schaltflächen, welche einzelne Makros startet. Um die große Anzahl der Schaltflächen übersichtlicher darzustellen wurden mehrere Gruppen gebildet. Die einzelnen Gruppen werden über fixe Schaltflächen angesteuert. Bei Auswahl einer neuen Gruppe werden die vorhandenen Schaltflächen des Submenüs gelöscht und für die ausgewählte Gruppe neu aufgebaut.
Die Schaltflächen werden also dynamisch erzeugt. Was noch fehlt sind die Zuordnungen der Makros im Submenü.


Anzeige
AW: ActiveX-CommandButton ein Makro zuweisen
13.05.2023 20:23:31
RPP63
Dann zeig doch mal, was Du hast.
Aber vorab:
Zuordnung von zur Laufzeit erstellten CommandButtons ist mindestens suboptimal!
Warum wechselst Du nicht die .Visible-Eigenschaft?
(und meinethalben .Top und .Left)
Ich lasse offen, weil mir die Vorgehensweise unlogisch erscheint.


AW: ActiveX-CommandButton ein Makro zuweisen
13.05.2023 20:58:05
Peter
Hallo Ralf,

das ist keine Frage der Anordnung oder der Sichtbarkeit,
Das Blatt hat im oberen Bereich 5 fixe Schaltflächen zur Auswahl der Submenüs. Bei Aktivierung einer dieser Schaltflächen werden im unteren Bereich der Blattes bis zu 32 weitere Schaltflächen generiert. Diese starten dann die einzelnen Makros. Die Steuerung und der Aufbau der Submenüs funktioniert problemlos. Offen ist die Zuweisung der Makros zu den Schaltflächen.
Bei Formular-Steuerelementen ist das im Gegensatz zu ActiveX-Steuerlementen kein Problem.

Viele Grüße, Peter


Anzeige
AW: ActiveX-CommandButton ein Makro zuweisen
14.05.2023 10:43:23
Daniel
Ich würde auch wie die Kollegen vorgeschlagen haben, ALLE Buttons vorab erstellen und mit Code versehen.
Dann kannst du sie einfach über die .Visible-Eigenschaft ein- und ausblenden und mit .Top und .Left wie gewünscht platzieren.
Das ist einfacher als Löschen und Erstellen.
Und wie schon an anderer Stelle von mir erwähnt, wenn du Farbe haben willst, kannst du die Formularbuttons durch jedes andere Grafikelement ersetzen, denn diesen kann man auch mit OnAction ein Makro zuweisen, das bei Klick ausgeführt wird.


AW: ActiveX-CommandButton ein Makro zuweisen
14.05.2023 19:00:49
Peter
Hallo zusammen,
vielen Dank für Eure qualifizierten Tipps und Hinweise.
Nach dem nun für mich klar ist, dass man ActiveX-Controls (auf einfache Weise) keine Makro zuweisen kann, habe ich die Logik umgestellt. Ich verwende nun eine fixe Anzahl von vordefinierten (Dummy-)Buttons für die Submenüs und benutze die Eigenschaften visible, caption, backcolor, enable dynamisch. Die Aufrufe der Makros sind im Code der jeweiligen Buttons hinterlegt und werden in Abhängigkeit des verwendeten Submenüs gesteuert.

Viele Grüße, Peter


Anzeige
AW: ActiveX-CommandButton ein Makro zuweisen
13.05.2023 23:08:58
Daniel
Hi
ActiveX-Controls kann man kein Makro zuweisen.
Man muss für ActiveX-Control ein eigenes Makro schreiben.

Das Zuweisen eines Makros funktioniert mit Formularfeld-Buttons, allerdings nicht nur mit diesen, sondern mit jedem anderen Grafikelement auch.
Dh wenn du einen Bunten, formatierten Button willst, nimmt du einfach ein Textfeld, Rechteck, Kreis, oder sonst was.

Gruß Daniel


AW: ActiveX-CommandButton ein Makro zuweisen
14.05.2023 09:43:16
Oberschlumpf
Hi,

und, ich finde, ein weiteres Problem ist:

Wenn du mit Makro zusätzlichen Code hinzufügen willst, MUSS jeder Computer, auf dem diese Datei funktionieren soll, "Dem VBA-Projekt vertrauen" !
(der Text in ".." kann ähnlich heißen, ist zu finden in Optionen/Trust Center)

a) diese Einstellung KANN NICHT per Makro ein-/ausgeschaltet werden, muss von jedem User "per Hand" ein-/ausgeschaltet werden
b) wenn diese Einstellung EINgeschaltet ist, hat jedes Makro-VIRUS freie Bahn

Willst du so etwas wirklich?

Ciao
Thorsten


Anzeige
Hier sind zwei Möglichkeiten -...
14.05.2023 12:06:34
Case
Moin, :-)

... um deine Frage zu beantworten. ;-)

Die Einschränkungen und Fallstricke wurden dir ja schon genannt.

Beispieldatei...

Also entweder "schreibst" du den Code zur Laufzeit, oder du wendest dich der Klassenprogrammierung... zu.

Beispieldatei ohne Fehlerbehandlung - nur als Grundgerüst/Beispiel.

Servus
Case

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige