В Excel, сделать переключатель активным / неактивным в зависимости от значения ячейки

Я хочу сделать переключатель Excel активным / неактивным, в зависимости от значения другой ячейки.

Я сделал следующую попытку:

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

В окне макроса VBA, но я получаю следующее сообщение об ошибке:

"Object doesn't support this property or method"

как я могу это исправить, пожалуйста? (Excel Для Mac 2011 Г.)


чтобы уточнить, когда я говорю "неактивный", я имею в виду серый - я не просто имею в виду, что он не был выбран.

для пример:

Группа 1 переключателей:
Мужской o женский o

Группа 2 переключателей :
Очки o серьги o борода o

В этом случае, если "женщина" выбран, я хочу, чтобы "борода", чтобы стать недоступным.


Теперь у меня есть следующий текст в моем "Модуль 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

первое, что скрывает групповые ящики, работает нормально. Вторая вещь, кажется, не работает. Неужели я все еще ошибаюсь?

13
задан user1551817
04.04.2023 2:27 Количество просмотров материала 2814
Распечатать страницу

1 ответ

так получилось, что я работал над этим на днях и имел ту же проблему.

у меня есть три варианта, нравится, не нравится, Нет. Только один может быть выбран, потому что они являются переключателями.

то, что вы хотите сделать, это установить переменные как таковые:


Sub doSelectedTest()

    Dim shapeLikes As Shape
    Dim shapeDislikes As Shape
    Dim shapeNone As Shape


    Set shapeLikes = Worksheets("picks").Shapes("Option Button 6")
    Set shapeDislikes = Worksheets("picks").Shapes("Option Button 7")
    Set shapeNone = Worksheets("picks").Shapes("Option Button 8")

    If shapeLikes.ControlFormat.Value = xlOn Then
        MsgBox "Likes"
    End If
    If shapeDislikes.ControlFormat.Value = xlOn Then
        MsgBox "Dislikes"
    End If
    If shapeNone.ControlFormat.Value = xlOn Then
        MsgBox "NONE"
    End If
End Sub

Так в вашем случае:

Dim myShape As Shape
Set myShape = Worksheets("picks").Shapes("Option Button 65")

If ActiveSheet.Cells(3, 3).Text = 3 Then
    myShape.ControlFormat.Value = xlOff
End If

или, если кнопка 65 желательно отключить в этом сценарии, то myShape.ControlFormat.Enabled = False или .Visible = False

0
отвечен ejbytes 2023-04-05 10:15

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх