Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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
Inhaltsverzeichnis

Wert Kontrollkästchen

Wert Kontrollkästchen
RainerK
Hallo,
habe ein Arbeitsblatt mit Kontrollkästchen (Formularsteuerelemente).
In einem zugehörigen Makro habe ich eine If-Anweisung.
Logischerweise bräuchte ich diese nur, wenn das Kontrollkästchen aktiviert wird.
Wie erhalte ich über VBA den Wert TRUE (Aktivierung des Kontrollkästchens)?
Gruß
RainerK

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Indem du seine Eigenschaft Value abfragst! orT
27.07.2010 09:46:12
Luc:-?
Gruß Luc :-?
AW: Indem du seine Eigenschaft Value abfragst! orT
27.07.2010 10:18:21
Ramses
Hallo
"...Logischerweise bräuchte ich diese nur, wenn das Kontrollkästchen aktiviert wird..."
Aktiviert geht nicht, Bei Änderung dagegen schon.
Am einfachsten nimmst du aber die Toolbox - Elemente wie von Jusuf beschrieben
so kannst du die Formular-elemente abfragen
Sub chkOption()
    Dim myOpt As Shape
    Set myOpt = ActiveSheet.Shapes(Application.Caller)
    With myOpt
        MsgBox myOpt.Name & " hat den Wert: " & .OLEFormat.Object.Value
        'Dein Code
        If .OLEFormat.Object.Value = 1 Then
            MsgBox "Button 1 gedrükt"
            ElseIf .OLEFormat.Object.Value = 2 Then
            MsgBox "Button 2 gedrückt"
            ElseIf .OLEFormat.Object.Value = 3 Then
            MsgBox "Button 2 gedrückt"
        End If
        'oder die verknüpfte Zelle abfragen
        Select Case Range("B15")
            Case 1
                MsgBox "Button 1 gedrükt"
            Case 2
                MsgBox "Button 2 gedrükt"
            Case 3 'usw
        End Select
    End With
End Sub

Die gemeinsame verknüpfte Zelle der Option-Buttons ist hier die Zelle B15
Gruss Rainer
Anzeige
Sorry,.. der Beitrag sollte zu RainerK. o.w.T.
27.07.2010 10:19:09
Ramses
...
AW: Indem du seine Eigenschaft Value abfragst! orT
27.07.2010 11:40:37
RainerK
Hallo,
danke für Eure Mithilfe.
Das mit den Toolbox-Elementen hatte ich ursprünglich aus anderen Gründen nicht gemacht.
Nun da die Seite mit etlichen Formularsteuerelementen bestückt ist wollte ich dabei bleiben.
.Value = 1 ist ja so viel wie "aktiviert".
Ausserdem hatte ich die ZELLVERKNÜPFUNG zuvor nicht bedacht.
Vielleicht war das der entscheidende Hinweis.
Vielen Dank
Gruß RainerK
Feedback
27.07.2010 11:52:36
RainerK
Hallo Ramses,
hab's mit
If .OLEFormat.Object.Value = 1 Then
gelöst bekommen.
Nochmals Danke.
Gruß RainerK
Anzeige
AW: Feedback
27.07.2010 12:11:45
Ramses
Hallo
"....Value = 1 ist ja so viel wie "aktiviert"...."
Stimmt nicht.
1 ist der Wert des Optionsbuttons in der ersten Gruppe. 2 der Wert des Optionsbuttons 2 in der Gruppe.
Ein einzelner Optionbutton kann nicht mehr deaktiviert bzw. im Wert geändert werden, wenn er mal aktiviert/ausgewählt wurde.
Daher werden für Ein-/Ausschaltungen eigentlich Checkboxes verwendet
Gruss Rainer
AW: Feedback
27.07.2010 12:25:27
RainerK
Hallo Rainer,
was ich mit "....Value = 1 ist ja so viel wie "aktiviert"...." meinte:
Mein Code (siehe unten) hatte mir die erforderlichen Meldungen immer gebracht; egal ob ich ein Häkchen gesetzt hatte oder dies wieder rausgenommen wurde.
Sinn machte die Meldung (der Code) jedoch nur, wenn das Häckchen gesetzt wurde.
Ergänzt mit Deinem Vorschlag sieht dieser nun so aus:
Sub wsAuswahl()
Dim myOpt As Shape
Dim sAB As String '[A]rbeits[B]latt
Dim sWB As String '[W]ork[B]ook
sAB = Application.Caller 'Name des Kontrollkästchens + Arbeitsblattes
sWB = "Vergleich " & Tabelle1.Range("H21") & ".xls"
Set myOpt = ActiveSheet.Shapes(sAB)
With myOpt
If .OLEFormat.Object.Value = 1 Then
If Not WorkSheetExists(sAB) Then
If Tabelle1.Range("H21") = "" Then
Select Case MsgBox("Es wurde noch kein Produkt ausgewählt." & Chr(13) & _
"Möchten Sie dies nun tun?", vbQuestion + vbYesNo, "")
Case vbYes
Tabelle1.ComboBox21.Select
Case vbNo
' Dein Code bei 'Nein'
End Select
Else
MsgBox sWB & " nicht vorhanden/integriert." & Chr(13) & _
sAB & " kann daher nicht ausgewählt werden.", vbCritical, "Achtung!"
End If
Else
If Tabelle8.Range("I13") = True Then
Worksheets(sAB).Range("D1") = True
Tabelle8.Range("P13") = Worksheets(sAB).Range("S1")
Else
Worksheets(sAB).Range("D1") = False
Tabelle8.Range("P13") = Worksheets(sAB).Range("S1")
End If
End If
End If
End With
End Sub
Der Code funktioniert nun bei allen gesetzten Kontrollkästchen nur dann, wenn ich ein Häckchen setze.
Gruß RainerK
Anzeige
AW: Wert Kontrollkästchen
27.07.2010 09:53:59
Yusuf
Moin,
das ist etwas anders als mit Toolbox Steuerelementen.
Hier mal ein Beispiel:
Sub Optionsfeld()
If ActiveSheet.OptionButtons("Optionsfeld 1").Value = 1 Then
ActiveSheet.OptionButtons("Optionsfeld 1").Value = 0
Else
ActiveSheet.OptionButtons("Optionsfeld 1").Value = 1
End If
End Sub
Gruß
Yusuf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige