如何创建动态相关excel VBA组合框?

如何创建动态相关excel VBA组合框?,excel,vba,combobox,Excel,Vba,Combobox,我有三个组合框。 一个代表州,一个代表区,一个代表市 到目前为止,我已经设法用唯一的州名列表填充我的第一个组合框 当在第一个组合框中选择一个州时,我需要运行一个sub,该组合框会选择相应的地区并选择第一个地区(默认情况下),同样地,在第三个组合框中选择第一个城市(默认情况下),该组合框对应于第一个地区 当在第二个组合框中选择一个地区时,我需要运行一个sub,该组合框选择相应的城市并选择第一个(默认情况下) 然后用户应该能够选择一个城市并查看与该城市相关的数据 如何制作这些子例程 注: “Stat

我有三个组合框。 一个代表州,一个代表区,一个代表市

到目前为止,我已经设法用唯一的州名列表填充我的第一个组合框

当在第一个组合框中选择一个州时,我需要运行一个sub,该组合框会选择相应的地区并选择第一个地区(默认情况下),同样地,在第三个组合框中选择第一个城市(默认情况下),该组合框对应于第一个地区

当在第二个组合框中选择一个地区时,我需要运行一个sub,该组合框选择相应的城市并选择第一个(默认情况下)

然后用户应该能够选择一个城市并查看与该城市相关的数据

如何制作这些子例程

注:

“States”
是我的状态列表,带有声明

“uniqueStates”
是第一个组合框的名称

“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

我也不明白为什么第一个组合框中会填充两次第一个状态名。其余的条目是唯一的,只有第一个是重复的。

这是一个Bug。如果您试图直接使用Excel制作,错误仍然存在…
加:


顺便问一下错误…

您的数据是什么样子的?如果excel表格中有数据,该表格的外观如何?你能添加一个你正在使用的数据样本吗?
Range("uniqueStates").RemoveDuplicates Columns:=1, Header:=xlNo