Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1520to1524
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

GlobalerOptionButton_Click Handler

GlobalerOptionButton_Click Handler
17.10.2016 23:30:12
Frank
Hallo zusammen,
habe ca. 500 OptionButtons (ActiveX) in einem Sheet und möchte abfangen wenn irgendeiner dieser OptionButtons geklickt wird, da ich nicht über 500 Click Events schreiben will. (Wer sich fragt warum keine Formular OptionButtons: Hatte riesigen Ärger mit Ihnen da diese - warum auch immer - ihre Zellverknüpfung beim ausblenden von Zeilen, in denen Sie positioniert waren, verändert wurden).
Folgender Code funktioniert für einen Button schon. Ich habe jeweils 8 Buttons mit eigenem GroupName. (Also 480 Buttons und 60 Gruppen)
Private Sub OptionButton1_Click()
Dim obNameVal As Integer
Dim obNameLen As Integer
Dim obRow As Integer
Dim obRange As String
Dim obFrmVal As Integer
Dim obValue As Integer
obNameLen = Len(OptionButton1.Name)
obNameVal = Right(OptionButton1.Name, obNameLen - 12)
obRow = Range(OptionButton1.TopLeftCell.Address).Row
obRange = "Q" & obRow
obFrmVal = OptionButton1.GroupName
obValue = obNameVal - ((obFrmVal - 1) * 8)
ActiveSheet.Range(obRange).Value = obValue
End Sub
Also ich bräuchte ein Event/Makro/etc dass den geklickten Button erkennt und dann oben variabel den OptionButton1.Name ersetzt und ähnlich wie das Worksheet_Calculate Eevent beim Click sofort ausführt. Hatte schon lange im Netz gesucht allerdings nur etwas mit neuem Klassenmodul gesehen was ich entweder nicht verstehe oder bei mir nicht funktioniert.
Wer hat eine kreative Idee? Besten Dank im Voraus und Grüße
Frank

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: GlobalerOptionButton_Click Handler
18.10.2016 16:11:45
Frank
Perfekt! 1000 Dank Mullit
AW: GlobalerOptionButton_Click Handler
18.10.2016 16:21:35
Daniel
Wobei sich die Frage stellt, ob man dann nicht besser anstelle jeder Optionbuttongruppe eine List- oder Combobox erstellt und für diese eine Ausgabezelle definiert.
dann hat man nicht 480 sondern nur 60 Steuerelemente auf dem Blatt und das ganze funktioniert Codefrei.
Gruß Daniel
AW: GlobalerOptionButton_Click Handler
18.10.2016 18:21:31
Frank
Hallo Daniel,
ja wäre auch möglich, aber benötige die Option Buttons aus Design- und Anwendergründen.
Trotzdem Danke für die zusätzlichen Gedanken/Mühen
Gruß Frank
Anzeige
AW: OptionButton Zellverknüpfungsfehler
19.10.2016 01:39:43
Frank
Hallo Zusammen,
trotz der grundsätzlich erfolgreichen Lösung über ActiveX Elemente und Mullits Lösung muss ich doch noch mal ne andere Frage stellen, da durch die vielen ActiveX Buttons das File doch sehr träge wurde.
Ich habe eine Datei angehängt (https://www.herber.de/bbs/user/108864.xlsm) bei der ich beim besten Willen nicht verstehe wo der Fehler liegt.
Wenn man zunächst ohne das Makro in Tabelle1 auf Tabelle2 die OptionButtons klickt werden wie gewünscht die entsprechenden Zellverknüpfungen befüllt. Nachdem das Makro durchgelaufen ist, das lediglich die Buttons und einige Zeilen aus- und wieder einblendet, sind die Zellverknüpfungen hinüber.
An der Gruppierung der 4 OptionButtons liegt es nicht. Auch bei Einzelgruppierung der Buttons gehen die richtigen Zellverknüpfungen verloren und es entsteht irgendwie eine Art Gruppenfeld aus allen 4 OptionButtons.
Ich verzweifle bald, da die Lösung mit den Formularsteuerelementen deutlich schneller läuft.
Nochmals danke im Voraus für Ideen/Lösungen
Gruß Frank
Anzeige
AW: OptionButton Zellverknüpfungsfehler
19.10.2016 09:31:14
Mullit
Hallo,
u.U. müsstest Du da per Code mit den Befehlen .Ungroup / .Group neu gruppieren, oder Du läßt die Gesamtgruppierung weg und gruppierst nur die einzelnen Grupppenreihen der OptButtons, allerdings besticht dann auch Daniels Argument, sich um Code keine Gedanken mehr zu machen und Listboxen zu verwenden...
Gruß, Mullit
AW: OptionButton Zellverknüpfungsfehler
19.10.2016 14:40:28
Frank
Hallo und schonmal danke,
wie gesagt die OptionButtons brauche ich.
Deine Beispieldatei löst aber das Problem auch nicht, da die Zellverknüpfung - wie ichs ja vorher auch beschrieben habe - auch bei einzelner Grupperiung verloren geht.
Meine Frage wäre erstmal warum Excel sich so verhält und ob es ein Programmfehler ist oder einfach irgendetwas nicht bedacht wird. Warum geht durch Ein- und Ausblenden die Zellverknüpfung kaputt? Jetzt sind es ja auch nur 4 Buttons statt 500. Kann ja demnach auch nicht an der Menge der Buttons liegen.
Vor allem nach dem Makro kann die Zellverknüpfung auch nicht mehr richtig hergestellt werden, da er danach alle 4 Buttons als eine Gruppe bzw. ein Gruppenfeld behandelt.
Was in deiner Datei - also bei Einzelgruppierung - funktioniert ist die Eigenschaft von Zellposition und Größe unabhängig. Bei meiner Datei funktioniert dieses Vorgehen allerdings nicht. Genausowenig funktioniert in deiner Datei nur zu sagen von Von Zellposition abhängig. Dies Eigenschaft müssen meine Buttons allerdings aufgrund der Zeilen Ein- und Ausblenderei haben.
Lange Rede gar kein Sinn, verstehe nicht warum die Zellverknüpfung sowie die Feldgruppierungen überhaupt etwas mit den Zellposiitonen und Größen zu tun haben?
Danke im Voraus
Gruß Frank
Anzeige
AW: OptionButton Zellverknüpfungsfehler
19.10.2016 17:18:00
Mullit
Hallo,
ah ja, tatsächlich in xl2007 gehts, in xl2010 nicht, dann mußt Du wie schon geschrieben per Code ungruppieren bzw. gruppieren und die Verknüpfungen neu setzen, wenn Du nicht klar kommst, könnt ich Dir später noch 'n Ansatz proggen..
Gruß, Mullit
AW: OptionButton Zellverknüpfungsfehler
19.10.2016 19:30:59
Frank
Hallo und nochmals danke,
denke das sinnvollste wäre die Zellverknüpfungen (die offensichtlich in 2010 spinnen) ganz wegzulassen und den OBs gar keine Verknüpfung zu geben. Stattdessen wäre doch der Globale Option Button Handler wieder nützlich der einfach nur abfängt welcher Button gedrückt wurde und dann in die (ursprüngliche) Zellverknüpfungszelle den Wert schreibt. Ich werde versuchen das mal zu adaptieren.
Ein Problem hätte ich dann allerdings noch. Ich weiss nicht wie ich in einer Grupper aus Optionbuttons (inklusive seinem Gruppenfeld) das Gruppenfeld bzw. alle Gruppenfelder in einem Sheet, die sich jeweils wieder in der jeweiligen Einzelgruppe befinden ausblenden kann. Diese werden ja vorher über das Ein und Ausblenden der gruppierten Buttons leider wieder mit sichtbar gemacht.
Danke im Voraus
Grüße Frank
Anzeige
AW: OptionButton Zellverknüpfungsfehler
20.10.2016 00:03:40
Frank
Hallo,
ok bekomme den Transfer (soweit mit Formularsteuerelementen überhaupt möglich) mit dem Option Button Handler nicht hin. Kenne mich leider zu schlecht aus (VBA bescheiden).
Habe deine Datei auf die Formularsteuerelemente angepasst und beigefügt. (https://www.herber.de/bbs/user/108902.xlsm)
Wäre nett wenn du nochmal drüberschauen könntest. Das mit den Gruppenfeldern ausblenden hat sich erledigt. Habe sie einfach aus den einzelnen Gruppierungen genommen.
Grüße und danke im Voraus
Frank
AW: OptionButton Zellverknüpfungsfehler
21.10.2016 00:36:49
Mullit
Hallo,
ah ok, bei Formularelementen benötigen wir keinen Handler auf Klassenbasis mehr, da gehts einfach mit der Application.Caller - Eigenschaft, hab den Code nur den Buttons in der roten Tabelle zugewiesen, dafür brauchst Du nur Deine Gruppierungen aufheben und die Prozedur allen Buttons zuweisen, könnte man im Notfall auch noch coden....
Habs jetzt in xl2007 gemacht, wenns in Deiner Version Probleme gibt, müssten wir nochmal schauen...
https://www.herber.de/bbs/user/108937.xlsm
Gruß, Mullit
Anzeige
AW: OptionButton Zellverknüpfungsfehler
21.10.2016 00:52:17
Mullit
Hallo,
ach ja übrigens , wenn Du einfach nur die Nummern hochgezählt haben willst, benötigst Du eigentlich auch gar keinen Code mehr und könntest einfach die Zellverknüpfung mit den Gruppierungen verwenden...
Gruß, Mullit

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige