我有三个组合框。 一个用于州,一个用于区,一个用于城市。
到目前为止,我已经设法使用一系列唯一的州名来填充我的第一个组合框。
在第一个组合框中挑选一个状态时需要一个子程序,该组合框选择相应的区域并选择第一个区域(默认情况下),类似地,第一个城市在与第一个区域相对应的第三个组合框中被选中(默认情况下)。
当在第二个组合框中挑选一个区域时,我需要一个子区域,该区域选择相应的城市并选择第一个组合(默认情况下)。
然后,用户应该能够选择一个城市并查看与该城市相关的数据。
如何制作这些子程序?
注意:
"States"
是我的状态列表,带有重复。
"uniqueStates"
是第一个Combobox的名称。
"districList"
是第二个组合框的名称。
"cityList"
是第三个组合框的名称。
Function UniqueList()
'Populate control with
'unique list.
Range("States").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("uniqueStates"), Unique:=True
'Set combo control's Row Source property.
Range("uniqueStates").Activate
UserForm1.uniqueStateList.RowSource = Selection.CurrentRegion.Address
'Display user form.
UserForm1.Show
Selection.CurrentRegion.Clear
End Function
此外,我无法弄清楚为什么第一个comboBox填充了第一个州名两次。其余条目是唯一的,只是第一个是重复。
答案 0 :(得分:0)
它是一个Bug。如果您尝试直接通过Excel制作,则错误仍然存在...
添加:
Range("uniqueStates").RemoveDuplicates Columns:=1, Header:=xlNo
绕过错误......