Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
740to744
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
740to744
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
CheckBoxen dynamisch in eine Tabelle einfügen
04.03.2006 10:08:56
DerSolide
Hallo,
ich erstelle dynamisch eine Liste (=Tabellenzeile, Daten in Spalte A..C, CheckBox in Spalte D) durch ein Makro.
Problem: Jede CheckBox pro Zeile soll bei Aktivierung/Deaktivierung die gleiche Aktion in der korrespondierenden Zeile durchführen.
Bemerkung: Die Zeile ist in dem Namen der CheckBox kodiert (z.B.: CheckBox_099 heißt, die CheckBox befindet sich in Zeile 99)
Frage: Kann man für ALLE CheckBoxen nur EINE Click-Routine verwenden und wenn ja, wie kann ich diese aufrufen/den Checkboxen zuordnen?
Vielen Dank im Voraus.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hab's gefunden, aber: Sendende CheckBox ermitteln
04.03.2006 10:43:57
DerSolide
Habe gerade herausgefunden, dass ich mit
ActiveSheet.Shapes("CheckBox_xxx").OnAction = "CheckBox_Click"
jeder CheckBox mit xxx=1...irgendwas dieselbe Click-Routine zuweisen kann.
Problem neu: Woher weis ich, welche CheckBox betätigt wurde? Gibt es die Möglichkeit, den "Sender" (ähnlich wie in VB.NET) zu ermitteln?
Vielen Dank im Voraus.
AW: Hab's gefunden, aber: Sendende CheckBox ermitteln
04.03.2006 10:47:32
Heiko
Hallo ?,
um dynamisch erzeugeten Controls EINE Aktion zuzuweisen nutzt man eigentlich sogennate Klassenmodule, guckst du hier http://www.online-excel.de/excel/grusel_vba.php?f=7
Wenn dir das zu aufwendig ist und deine Lösung so läuft, dann kann du mit der Funktion Caller (schau mal in der VBA Hilfe nach) erkennen von wo ein Makro gestartet wurd.
Gruß Heiko
PS: Rückmeldung wäre nett
Anzeige
Danke: Sendende CheckBox ermitteln
04.03.2006 12:18:42
Christian
Hallo Heiko,
vielen Dank für den Tipp. Die Lösung ist einfach, wenn man weis wo man suchen muss :-)

Sub CheckBox_Click()
Dim Zeile As Integer
Dim Steuerelement As CheckBox
Set Steuerelement = ActiveSheet.CheckBoxes(Application.Caller)
Zeile = Mid(Steuerelement.Name, Len("CheckBox "))
MsgBox ("Steuerelement in Zeile " & Zeile & " wurde aktiviert/deaktiviert")
End Sub

Bezüglich "Hallo ?": Macht der Gewohnheit habe ich einen Nickname verwendet und gar nicht darauf geachtet, dass man sich in diesem Forum mit einem "richtigen" Namen anspricht. Tut mir leid. So ist es natürlich viel persönlicher ;-)
Gruß,
Christian
Anzeige
OT: @ Peter
06.03.2006 18:55:26
Heiko
Hallo Peter,
ne bin ich nicht, und Chris b. hat sich an gleicher Stelle auch die Zähne ausgebissen.
Mit der Antwort von Peter H. damals konnte ich auch nicht so richtig was anfangen. Hab das ganze jetzt mal als gegeben hingenommen und muss zur Not mit der Application.OnTime Geschichte leben.
Gruß Heiko
Danke....
07.03.2006 16:33:08
Peter
Servus Heiko,
dann mus ich wohl auch lernen damit zu leben ;-). Gibt schlimmeres.
MfG Peter
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige