-1

У меня есть ячейка A1 которая заполнена в долларах, например. 20000 на основе vlookup. В зависимости от найденного значения я хочу выбрать 1 из 4 радиокнопок.

0-40K  40-150K  150-300K  >300K

Я бы предпочел не создавать макрос (для простоты), а также он должен обновляться при обновлении ячейки A1.

Любая помощь высоко ценится!

Новый код:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D8")) Is Nothing Then
        Select Case Range("D8").Value
            Case 0 To 39999
                revenue1.Value = True
            Case 40000 To 149999
                revenue2.Value = True
            Case 150000 To 299999
                revenue3.Value = True
            Case Else
                revenue4.Value = True
        End Select
    End If
End Sub

Также все переключатели находятся на одном листе. извиняюсь за форматирование

1 ответ1

0

Вы можете сделать это без макросов, но это работает только в одну сторону. Ключ должен использовать элементы управления формы, а не элементы управления ActiveX. Вставьте сколько угодно объектов Option Button (Form Control) . Щелкните правой кнопкой мыши один из них, а затем нажмите "Управление форматами". На вкладке "Управление" выберите связанную ячейку. Теперь значение этой ячейки будет определять, какой переключатель выбран. Если вы установите 4 радиоприемника, то значение ячейки будет равно 1, 2, 3 или 4.

Шаг 1Шаг 2

Теперь самое сложное. Вы можете установить для этой ячейки значение формулы на основе значения в A1 но выбор радиокнопки вручную перезапишет эту формулу. Если это не шаблон для чего-то, где пользователь каждый раз сохраняет новую копию мастера, это, вероятно, не в порядке. Вам все еще понадобится короткий макрос, чтобы переписывать формулу каждый раз, когда ячейка A1 изменяется, что наносит ущерб всей цели. В этом случае вам лучше установить радиокнопки непосредственно с VBA, а лучше с элементами управления ActiveX.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Select Case Range("A1").Value
            Case 0 To 39999
                OptionButton1.Value = True
            Case 40000 To 149999
                OptionButton2.Value = True
            Case 150000 To 299999
                OptionButton3.Value = True
            Case Else
                OptionButton4.Value = True
        End Select
    End If
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .