Frage Aktivieren oder deaktivieren Sie in Excel den Radio Button abhängig vom Zellenwert


Ich möchte eine Excel-Optionsschaltfläche abhängig vom Wert einer anderen Zelle aktiv / inaktiv machen.

Ich habe den folgenden Versuch unternommen:

Sub test()
If ActiveSheet.Cells(9, 3).Text = 3 Then
    ActiveSheet.OptionButton20_Click.Active = False
Else
    ActiveSheet.OptionButton20_Click.Active = True
End If
End Sub

Im VBA-Makrofenster habe ich folgende Fehlermeldung erhalten:

"Object doesn't support this property or method"

Wie kann ich es bitte reparieren? (Excel Mac 2011)


Um zu verdeutlichen, wenn ich "inaktiv" sage, meine ich ausgegraut - ich meine nicht nur, dass es nicht ausgewählt wurde.

Beispielsweise:

Gruppe 1 der Optionsfelder: Männlich o Frau o

Gruppe 2 der Optionsfelder: Brille o Ohrringe o Bart o

In diesem Fall, wenn "Weiblich" ausgewählt ist, möchte ich, dass "Bart" nicht wählbar ist.


Ich habe jetzt den folgenden Text in meinem "Modul 1":

Sub hide_group_box()
ActiveSheet.GroupBoxes.Visible = False
End Sub

Sub disable_radio()
If ActiveSheet.Cells(3, 3).Text = 3 Then
    ActiveSheet.OptionButton65.Enabled = False
End If
End Sub

Die erste Sache, die die Gruppenkästen verbirgt, funktioniert gut. Die zweite Sache scheint nicht zu funktionieren. Habe ich immer noch falsch?


0
2018-01-13 20:43


Ursprung


Mögliches Duplikat von Wie wählt man in Excel Optionsfelder nach Zellenwert aus? - CharlieRB
Vielen Dank. Es ist eine andere Frage, aber ich habe eine Klarstellung hinzugefügt. - user1551817
Die Eigenschaft, für die Sie suchen, heißt Enabled - Kyle
Vielen Dank. Ich erhalte immer noch die Fehlermeldung in meinem Post. Es markiert die Zeile 'ActiveSheet.OptionButton20_Click.Enabled = True' - user1551817
Entferne das _Click? - Raystafarian


Antworten:


Genau so habe ich neulich daran gearbeitet und hatte das gleiche Problem.

Ich habe drei Möglichkeiten: Vorlieben, Abneigungen, Keine. Nur eine kann ausgewählt werden, da es Optionsfelder sind.

Was Sie tun möchten, ist Ihre Variablen so einzustellen:


SubdoSelectedTest ()

    Dim ShapeLike As Shape
    Dim ShapeDislikes als Form
    Dim shapeNein als Form


    Set shapeLikes = Arbeitsblätter ("Picks"). Formen ("Option Button 6")
    Set shapeDislikes = Arbeitsblätter ("Picks"). Formen ("Option Button 7")
    Set shapeNone = Arbeitsblätter ("Picks"). Formen ("Option Button 8")

    Wenn shapeLikes.ControlFormat.Value = xlOn Dann
        MsgBox "Gefällt mir"
    Ende If
    Wenn shapeDislikes.ControlFormat.Value = xlOn Dann
        MsgBox "Abneigungen"
    Ende If
    Wenn shapeNone.ControlFormat.Value = xlOn Dann
        MsgBox "KEINE"
    Ende If
End Sub

Also in deinem Fall:

Dim myShape als Form
Setze myShape = Arbeitsblätter ("Picks"). Formen ("Option Button 65")

Wenn ActiveSheet.Cells (3, 3) .Text = 3 Dann
    myShape.ControlFormat.Value = xlOff
Ende If

Oder wenn Button 65 in diesem Szenario deaktiviert werden soll, dann myShape.ControlFormat.Enabled = False oder .Visible = False


0
2018-01-18 10:16