Excel 表单控件下拉框出现问题
我在创建依赖下拉框时遇到一些问题,根据第一个下拉框的值,返回列表或值: 我的第一个下拉列表(“下拉列表6”)由两个选项组成(命名范围) 我的第二个下拉列表(“下拉列表11”)的代码如下:Excel 表单控件下拉框出现问题,excel,vba,combobox,dropdown,Excel,Vba,Combobox,Dropdown,我在创建依赖下拉框时遇到一些问题,根据第一个下拉框的值,返回列表或值: 我的第一个下拉列表(“下拉列表6”)由两个选项组成(命名范围) 我的第二个下拉列表(“下拉列表11”)的代码如下: 'Declare variables Dim wb As Workbook Dim ws As Worksheet Dim c_list As Worksheet 'Assign variables Set wb = ThisWorkbook Set ws = ActiveSheet Set c_list =
'Declare variables
Dim wb As Workbook
Dim ws As Worksheet
Dim c_list As Worksheet
'Assign variables
Set wb = ThisWorkbook
Set ws = ActiveSheet
Set c_list = wb.Worksheets("C_List")
'DropDown level 1
Dim dd As DropDown
Set dd = ws.Shapes("Drop Down 6").OLEFormat.Object
'DropDown level 2
Dim dd2 As DropDown
Set dd2 = ws.Shapes("Drop Down 11").OLEFormat.Object
'DropDown level 2 values
With dd2
If dd.Value = 1 Then
dd2.ListFillRange = "LU_BBP"
Else
dd2.ListFillRange = "Packer"
End If
End With
End Sub
当我在第一个下拉列表中选择CFR时,我的if语句似乎不起作用,应该返回一个列表
有什么想法吗
编辑:如果我在VBA编辑器中逐行运行,下拉列表确实会更新,但是,当仅使用下拉列表时,更改不会继续进行。您需要稍微不同地执行此操作 将此代码粘贴到模块中
Option Explicit
Sub DropDown6_Change()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim dd As DropDown
Set dd = ws.Shapes("Drop Down 6").OLEFormat.Object
Dim dd2 As DropDown
Set dd2 = ws.Shapes("Drop Down 11").OLEFormat.Object
If dd.Value = 1 Then
dd2.ListFillRange = "LU_BBP"
Else
dd2.ListFillRange = "Packer"
End If
End Sub
现在右键单击下拉列表6
,然后单击分配宏。将DropDown6\u Change
分配到此下拉列表,您就完成了:)
正在进行(演示)
是。根据所选的CFR或DCR,dd值等于1或2。谢谢你的帮助,我把宏分配到了错误的下拉框。谢谢你的帮助。也很酷的视频。非常感谢!
Option Explicit
Sub DropDown6_Change()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim dd As DropDown
Set dd = ws.Shapes("Drop Down 6").OLEFormat.Object
Dim dd2 As DropDown
Set dd2 = ws.Shapes("Drop Down 11").OLEFormat.Object
If dd.Value = 1 Then
dd2.ListFillRange = "LU_BBP"
Else
dd2.ListFillRange = "Packer"
End If
End Sub