Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

CheckBox ansprechen



Excel-Version: 9.0 (Office 2000)

Betrifft: CheckBox ansprechen
von: Lena
Geschrieben am: 01.06.2002 - 20:11:59

Guten Abend!

Ich habe eine Frage und zwar habe ich in einer Tabelle 10 CheckBox's platziert. Jetzt möchte ich, dass bei Statusänderung der CheckBox ein Sub-Prozedur aufgerufen wird, die folgendes macht:


Private Sub CheckBox10_Change()
Call Setzen(10)
End Sub

Sub Setzen(Counter As Integer)

If CheckBox10.Value = False Then Range("tarif" & Counter) = 0
 
If CheckBox10.Value = True Then
        Range("tarif" & Counter).Value = _
        InputBox("Bitte geben Sie die Prozentzahl ein!")
End If
End Sub

allerdings ist der Code so wie er da steht, unbrauchbar. Denn ich möchte je nachdem welche CheckBox angeklickt wird (1, 2, 3, 4 etc) auch auf den Value der entsprechenden CheckBox zugreifen. Hier im Beipiel habe ich CheckBox auf CheckBox10 festgelegt. Und genau das will ich nicht, ich will, dass die CheckBox-Nummer diejenige ist, die die Variable Counter wiedergibt.

D.h. Wenn ich CheckBox4 anklicke, kommt der Code Call Setzen(4) und der Wert der Variblen "tarif" & Counter soll in Abhängigkeit von dem Wert der CheckBox4 gesetzt werden.

Kurz gesagt, wie kann ich ein Steuerelement in einem Tabellenblatt(keine Userform) einzeln ansprechen, ohne seinen Namen explizit in den Code zu schreiben.

Ich hoffe, dass es einigermaßen verständlich ist, falls nicht, werde ich natürlich versuchen, mein Problem präziser zu beschreiben.

Vielen Dank,
Lena

  

Re: CheckBox ansprechen
von: L.Vira
Geschrieben am: 01.06.2002 - 22:55:55

Und genau das geht im Tabellenblatt nicht! Du kannst die controls zwar als OLEObjekt ansprechen, aber da stehen z.B. Caption, Value, Text nicht zur Verfügung. Ein Beispiel, was geht:

Option Explicit
Sub Testen()
Dim i As Integer
With Sheets("Tabelle1")
For i = 1 To .OLEObjects.Count
If .OLEObjects(i).ProgId = "Forms.CommandButton.1" Then
.OLEObjects(i).Object.Enabled = _
Not .OLEObjects(i).Object.Enabled
End If
Next
End With
End Sub

  

Re: CheckBox ansprechen
von: Lena
Geschrieben am: 01.06.2002 - 23:09:36

Danke,

ich habe schon beführchtet, dass es nicht geht, aber doch noch gehofft. Jetzt weiß ich, dass ich mir darüber keinen Kopf mehr zu verbrechen brauch' :)


Lena

 

Beiträge aus den Excel-Beispielen zum Thema "CheckBox ansprechen"