PDA

Vollständige Version anzeigen : mit checkbox ein Kontrollkästchen auf Formularbasis ansteuern


bennyboy
23.03.2009, 07:59
Hallo Leute,

hoffe ihr könnt wieder helfen....


ich habe hier ein kleines Programm in Excel wo unter anderem einige Kontrollkästchen (Symbolleiste Formular) also Kontrollkästchen auf Formularbasis enthalten sind.

Frage:

gibt es die Möglichkeit in der Sub einer Checkbox (Steuerelement Toolbox) ein Kontrollkästchen (Formularbasis) anzusteuern?

Ich will im Klartext sagen: wenn ich die Checkbox aus der Steuerelement Toolbox anklicke soll das Kontrollkästchen Formular zb. inaktiv gesetzt werden. Das war nur ein Beispiel....


Wie funktioiniert das? Im Code heisst die Checkbox ja auch Checkbox aber wie heisst das Kontrollkästchen auf Formularbasis ???


Benny

IngGi
23.03.2009, 08:20
Hallo Benny,

das erste Kontrollkästchen heißt Check Box 1. Der Wert kann folgendermaßen abgefragt werden:
Debug.Print Me.Shapes("Check Box 1").ControlFormat.Value
Ist das Häkchen gesetzt, ist der Wert 1, andernfalls -4146 (frag mich nicht warum :eek: ).

Gruß Ingolf

bennyboy
23.03.2009, 08:36
????


sorry damit komm ich jetzt nicht wirklich klar....

also die anweisung

Private Sub CheckBox1_Click()

If CheckBox1 = True Then Kontrollkästchen1 = False

End Sub

das funktioniert nicht!!

wie muss es denn lauten??

IngGi
23.03.2009, 09:37
Hallo Benny,

wie schon in meiner ersten Antwort gesagt, sind die Werte für ein Kontrollkästchen aus der Formular-Symbolleiste nicht True und False, sondern 1 und -4146. Schau dir mal folgendes Beispielmakro an. Ich habe auf dem Tabellenblatt ein Kontrollkästchen aus der Formular-Symbolleiste und ein Kontrollkästchen aus der Steuerelemente-Toolbox-Symbolleiste. Wenn ich auf das Kontrollkästchen aus der Steuerelemente-Toolbox-Symbolleiste klicke, wird das andere Kontrollkästchen aktiviert/deaktiviert - immer gegenläufig zum ersteren.

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> CheckBox1_Change()
<span class="TOKEN">If</span> CheckBox1 <span class="TOKEN">Then</span>
Shapes(&quot;Check Box 2&quot;).ControlFormat.Value = -4146
<span class="TOKEN">Else</span>
Shapes(&quot;Check Box 2&quot;).ControlFormat.Value = 1
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Das Kontrollkästchen aus der Formular-Symbolleiste heißt bei mir Check Box 2, weil ich zuerst das andere Kontrollkästchen eingefügt habe. In der Zählung bei der automatischen Namesvergabe werden also beide Arten in einer Reihe gezählt.

Gruß Ingolf