Как отключить выпадающий список в Excel?

#excel #vba #excel-formula

#excel #vba #excel-формула

Вопрос:

У меня есть два выпадающих списка C1 и D1, где C1 содержит список стран. D1 должен действовать как выпадающий список, только если UAE и VN выбраны в списке C1

Если я выберу страну, отличную от ОАЭ и VN, D1 будет действовать как обычная ячейка, а не как выпадающий список.

Я не могу отключить выпадающий список при выборе страны, кроме ОАЭ и VN, D1 по-прежнему действует как выпадающий список

 Sub excelCode()

Dim myValue As Variant


  myValue = ThisWorkbook.Worksheets("Sheet1").Range("C1").Value

  If myValue = "UAE" Or myValue = "VN" Then

  ActiveSheet.DropDowns("D1").Enabled = True

    Else

     ActiveSheet.DropDowns("D1").Enabled = False

  End If

End Sub
  

Комментарии:

1. как / где вы запускаете этот код?

2. Где a и dd используется?

3. Я запускаю этот код в приложении Visual Basic

4. a и dd больше нет, извините за неудобства

5. У вас есть причина не использовать проверку данных?

Ответ №1:

Приведенный ниже код будет only work on ActiveX List Boxes . Поскольку в вашем описании используются значения «US» и «UAE», а в вашем коде используются значения «UAE» и «VN», я решил использовать значения вашего кода, которые вы можете изменить в соответствии с вашими потребностями. Place the code in your worksheet module , измените номер листа по мере необходимости. ListBox2 will only be enabled когда выбрано одно из двух значений; если выбрано любое другое значение, то ListBox2 will be disabled .

 Private Sub ListBox1_Click()
'You must use ActiveX Control List Box
    With Sheet1.ListBox1
            If .Value = "UAE" Or .Value = "VN" Then
                Sheet1.ListBox2.Enabled = True

            Else: Sheet1.ListBox2.Enabled = False

            End If
    End With
End Sub
  

Комментарии:

1. Спасибо за ваш комментарий, мне нужно использовать поле Список, а не список в моем коде