#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. Спасибо за ваш комментарий, мне нужно использовать поле Список, а не список в моем коде