Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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
Checkbox mit Variable ansprechen
07.09.2015 14:12:42
Psy
Hallo zusammen,
habe eine Excel-Tabelle, in welcher 17 Checkboxen (ActiveX-Steuerelemente) enthalten sind.
Wenn ich eine Checkbox auswähle und darin einen Hacken setze, kommt eine MsgBox mit einer Abfrage, ob ein Diagramm in PowerPoint erstellt werden soll. Dies funktioniert auch.
Jetzt könnte ich dies für alle 17 Checkboxen schreiben.
Um mir unnötige Arbeit zu ersparen, kam ich auf die Idee, alle Checkboxen per Schleife _ anzusprechen.

Sub tt()
Dim i As Integer
For i = 1 To 17
'Checkbox per Variable ansprechen um eine Abfrage zu starten, ob ein Diagramm erstellt werden    _
_
_
soll
If Tabelle1.OLEObjects("CheckBox" & i).Object.Value = True Then
If MsgBox("Möchten Sie ein Diagramm für die Direktion " & Cells(i + 5, 2).Value & "  erstellen?" _
_
_
, vbYesNo, "Frage") = vbNo Then
Tabelle1.OLEObjects("CheckBox" & i).Object.Value = False
Exit For
end if
end sub

Nun zu meiner Frage. Wenn ich oben genannten Code nutze, kann ich zwar damit arbeiten, muss aber das Makro selbstständig starten.
Wenn ich direkt über die Checkbox gehe

Private Sub CheckBox1_Click()
end sub

also einen Hacken setze, wird das Makro direkt ausgeführt.
Gibt es die Möglichkeit, das Makro auszuführen, sobald EINE Checkbox aktiviert wird?
Für jede Unterstützung bedanke ich mich.
Gruß

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Das geht am einfachsten...
07.09.2015 14:59:16
Psy
Hi Case,
vielen Dank für die Unterstützung.
Um ehrlich zu sein, verstehe ich nicht was es mit der Klassenprogrammierung auf sich hat. Habe die Datei heruntergeladen aber das ist doch zu hoch für mich. Versuche mich aber trotzdem darin einzuarbeiten.
Oder ich bin zu faul und ändere den Code 17 mal ab. Mal sehen. :)
Gruß und Danke...

Anzeige
AW: Checkbox mit Variable ansprechen
07.09.2015 14:53:15
Daniel
Hi
wenns möglich ist, Listbox im Multiselect-Modus verwenden.
dann hast du nur ein Steuerelement, unabhängig von der Anzahl der Einträge.
Gruß´Daniel

AW: Checkbox mit Variable ansprechen
07.09.2015 15:01:03
Psy
Hi Daniel,
danke für den Tipp. Leider geht es nicht mit einer Listbox. Mir geht es ja nur darum, das für jede Checkbox eine Direktion im Unternehmen steht und sobald eine ausgewählt wird, sollen die Daten dieser Direktion zusammengefahren werden.
Trotzdem danke für die Hilfe. :)
Gruß

AW: Checkbox mit Variable ansprechen
07.09.2015 15:08:34
Daniel
Hi
ja und?
bei einer Listbox steht halt jeder Listboxeintrag für eine Direktion im Unternehmen.
Warum sollte das nicht funktionieren?
aber auch wenn du mit Checkboxen arbeitest, sollte es eigentlich nicht notwendig sein, für jede Checkbox so einen Code zu schreiben.
beim Arbeiten mit Checkboxen geht man doch eher so vor, dass man erst alle benötigten Checkboxen anhakt, und dann wenn man fertig ist ein Makro startet, welches alle Checkboxen durchgeht, überprüft ob diese angehakt sind und wenn ja, die entsprechenden Aktionen ausführt.
Gruss Daniel

Anzeige
AW: Checkbox mit Variable ansprechen
07.09.2015 15:16:53
Psy
Hi Daniel,
das mit der Listbox ist gar keine schlechte Idee. Werde mal testen, ob so etwas passt.
Danke für die Anregung.
Gruß

AW: Checkbox mit Variable ansprechen
07.09.2015 15:23:06
Daniel
Hi
die eine alternative wäre die angeblich einfache Klassenprogrammierung.
die andere alternative wäre, dass du statt der ActiveX-Checkboxen die Formularfeld-Checkboxen verwendest.
diesen kannst du dann ein Makro aus einem allgemeinen Modul zuweisen (geht über das Kontextmenü, auch für mehrere gleichzeitig), welches dann bei Klick ausgeführt wird.
dieses Makro kann von mehreren Elementen verwendete werden, dh du brauchst nur ein Makro.
im makro kannst du dann über Application.Caller abfragen, welches Element das Makro ausgelöst hat.
(das wäre dann sowas wie "Klassenprogrammierung light")
Gruß Daniel

Anzeige
AW: Checkbox mit Variable ansprechen
07.09.2015 15:36:49
Psy
Hi Daniel,
habe es glaube ich hinbekommen mit der Listbox.
Die erste Prüfung hat ergeben, dass die korrekten Daten übernommen werden. Zuerst einmal vielen Dank für den sehr guten Tipp.
Eine Frage hätte ich noch.
Wenn ich in der Listbox eine Direktion auswähle, dann erscheint bei mir eine MsgBox. Soweit so gut. Nur leider bleibt die Listbox dabei geöffnet und erst wenn ich meine Wahl in der MsgBox (ja oder nein) treffe, wird die Listboxauswahlliste geschlossen. Ist zwar jammern auf hohem Niveau aber ist es möglich, dass sich nach der Wahl der Direktion in der Listbox, die Listboxauswahlliste zuerst schließt und danach die MsgBox erscheint?
Gruß

Anzeige
AW: Checkbox mit Variable ansprechen
07.09.2015 15:46:43
Daniel
Hi
sorry, ich verstehe nicht, was du meinst.
ich halte es eigentlich auch für falsch, sofort bei Klick auf die Listbox ein Makro auszulösen.
Sinnvoller wäre, wenn der Anwender erstmal alle benötigten Direktionen auswählen kann (und ggf auchwieder abwählen) und erst wenn er damit fertig ist, startet er über einen weitern Button ein Makro.
damit würde sich dann auch die Msgbox mit der Sicherheitsabfrage nach jedem Klick erübrigen.
Gruß Daniel

AW: Checkbox mit Variable ansprechen
07.09.2015 15:54:51
Psy
Hi Daniel,
das ist korrekt. Aber es soll immer nur eine Auswertung je Direktion erstellt werden. Wahrscheinlich werde ich dies so lassen, oder über einen CommandButton in Excel soll die Auswertung gestartet werden.
So kann erst die Direktion gewählt werden und erst beim klick auf den CommandButton wird das Makro gestartet.
Und sollte es sinnvoll sein, einmal mehrere Direktionen gleichzeitig auszuwerten, muss ich das Makro umschreiben.
Somit wäre meine Frage beantwortet und ich bedanke mich für die super Hilfe.
Gruß

Anzeige
AW: Checkbox mit Variable ansprechen
07.09.2015 16:02:19
Daniel
Hi
dann wären ja Optionbuttons bzw die Single-Select-Listbox die Mittel deiner Wahl und keine Checkboxen!
Die Single-Select-Listbox lässt sich dann auch einfacher auswerten, weil du den angeklickten Wert mit Listbox1.ListIndex direkt abfragen kannst und keine Schleife brauchst.
Gruß Daniel

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige