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 MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Excel-Checkbox per VBA ansprechen | Herbers Excel-Forum


Betrifft: Excel-Checkbox per VBA ansprechen von: Uwe
Geschrieben am: 25.08.2008 16:01:54

Hi @ all:

Folgende vermutlich einfach Frage:

habe eine Checkbox direkt in Excel mit der SteuerelementeToolbox erstellt und würde diese gerne per Klick auf einen Button in einem VBA Projekt ausführen...

wie stelle ich das an?

Wie gesagt: ich denke, dass das einfach ist, nur ich komm nicht drauf...

Vielen Dank

Uwe

  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: SchorschD
Geschrieben am: 25.08.2008 16:31:07

Hallo Uwe,
die von dir platzierte Checkbox hat einen Namen (siehst du wenn du die CheckBox anklickst im Formular im Eigenschaften Reiter, standardmäßig auf der linken Seite).

Um die Checkbox anzusprechen, musst du nur den Namen der Checkbox angeben, gefolgt von einem Punkt um den Wert zu setzen.

Bsp: (Name "CheckBox1" auf der UserForm "UserForm1")
[...]
UserForm1.CheckBox1.Value = True ' setzt das Häkchen

Gruss
Georg


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Uwe
Geschrieben am: 26.08.2008 07:44:51

hi luschi, hi schorschD,

vielen Dank für eure Antworten. Leider funktioniert Luschis Variante nicht!
Zu Schorsch: Funktioniert das auch, wenn die Checkbox in einem Excel Tabellenblatt ist; und nicht in einer UserForm?

Vielen Dank


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Luschi
Geschrieben am: 25.08.2008 16:39:48

Hallo Uwe,

wenn sich die CheckBox direkt auf dem Tabellenblat befindet, dann geht das so:

Private Sub CheckBox1_Click()
   MsgBox Me.OLEObjects("CheckBox1").Object.Value
   If Me.OLEObjects("CheckBox1").Object.Value Then
      MsgBox "Das Häckchen ist gesetzt..."
   End If
End Sub


Nur noch den Namen der CheckBox korrigieren.

Gruß von Luschi
aus Klein-Paris


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Uwe
Geschrieben am: 26.08.2008 08:07:14

hi luschi, hi schorschD,

vielen Dank für eure Antworten. Leider funktioniert Luschis Variante nicht!
Zu Schorsch: Funktioniert das auch, wenn die Checkbox in einem Excel Tabellenblatt ist; und nicht in einer UserForm?

Vielen Dank


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Luschi
Geschrieben am: 26.08.2008 09:27:49

Hallo Uwe,

aus Deiner Fragestellung [habe eine Checkbox direkt in Excel mit der SteuerelementeToolbox erstellt] mußte man annehmen, daß die Checkbox sich direkt auf einem Tabellenblatt befindet und nicht in einer Userform.
Deshalb habe ich Dir auch eine Lösung für das Tabellenblatt geschickt.

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Uwe
Geschrieben am: 26.08.2008 09:58:43

Hi Luschi,

deine Variante läuft leider nicht.

Meine Checkbox nennt sich: cb_s_1

folglich müsste der Code, wenn ich ihn in die Programmabfolge integriere, lauten:

MsgBox Me.OLEObjects("cb_s_1").Object.Value
If Me.OLEObjects("cb_s_1").Object.Value Then
MsgBox "Das Häckchen ist gesetzt..."
End If

Leider passiert nichts, wenn ich das Häkchen setze... Kann es daran liegen, dass es vielleicht:

If Me.OLEObjects("cb_s_1").Object.Value=true Then

heissen müsste?

mein Tabellenblatt nennt sich: "WEP Checkliste" - nur zur Info, falls es hilft...

mfg Uwe


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Luschi
Geschrieben am: 26.08.2008 10:26:06

Hallo Uwe,

habe meinen Lösungsvorschlag nochmals überprüft.
Er funktioniert tadellos. Die Prozedur muß natürlich in das Klassenmodul der jeweiligen Tabelle,
in der sich die Checkbox befindet; denn nur dort werden die Objekt-Ereigbisse ausgewertet:
also nicht in einem allgemeines Modul.

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Uwe
Geschrieben am: 26.08.2008 10:43:08

achso...ja, das ergibt natürlich sinn...

kannst du mir noch sagen, wie ich die Klassenmodule in einem allgemeinen Modul unterbringe, also das klassenmodul und das allg. modul zum interagieren bringe?

Ich würde gerne haben:

Wenn eine Checkbox in einem allgemeinen Modul aktiviert wird und ich auf "Übernehmen" klicke, dass die Checkbox in dem Excelsheet auch aktiviert wird. und umgekehrt mit der deaktivierung....

weisst du, was ich meine?

Mfg

Uwe


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Luschi
Geschrieben am: 26.08.2008 11:38:30

Hallo Uwe,

wenn Du soetwas meinst:

'im Klassenmodul der Tabelle
Private Sub CheckBox1_Click()
    machMalWas Me.CheckBox1, 1
End Sub

'in einem normalen Modul
Sub machMalWas(ByRef xObjekt, xWas As Integer)
    Dim s As String
    
    Select Case xWas
        Case 1: s = "Hallo, ich bin's"
        Case 2: s = "Oh, ich bin's immer noch"
    End Select
    
    MsgBox s & vbCrLf & vbCrLf & "mein Name: " & xObjekt.Name & _
           vbCrLf & "mein Objektstatus ist: " & xObjekt.Value
End Sub

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Uwe
Geschrieben am: 26.08.2008 11:51:53

Hi, danke für deine hilfe!

habe jetzt folgendes im Initialisierungscode der Userform stehen:

Dim s As String

Select Case xWas
Case 1: s = "Hallo, ich bin's"
Case 2: s = "Oh, ich bin's immer noch"
End Select

MsgBox s & vbCrLf & vbCrLf & "mein Name: " & xObjekt.Name & _
vbCrLf & "mein Objektstatus ist: " & xObjekt.Value

und folgendes als klassenmodul:

Private Sub CheckBox1_Click()
    machMalWas Me.cb_s_1, 1
End Sub



trotzdem kommt folgende Meldung:

Laufzeitfehler 424 - Objekt erforderlich

bin bei Klassenmodulen nicht so wirklich bewandert....sorry, wenn ich mich bisschen schwerfällig anstelle.

mfg uwe


  

Betrifft: AW: Excel-Checkbox per VBA ansprechen von: Luschi
Geschrieben am: 27.08.2008 09:29:52

Hallo Uwe,

so richtig verstehe ich jetzt Dein Problem nicht. Lade doch ein Beispiel hoch.

Gruß von Luschi
aus klein-Paris


Beiträge aus den Excel-Beispielen zum Thema "Excel-Checkbox per VBA ansprechen"