【问题标题】:Insert sheet data into userform combobox with no duplication - Excel Vba将工作表数据插入用户表单组合框中而不重复 - Excel Vba
【发布时间】:2018-05-02 23:21:25
【问题描述】:

我正在制作一个带有两个组合框的 excel 用户表单。一个组合框从名为“CompaniesandSubsidiaries”的 sheet3(A 列)中检索数据。然后在第一个组合框的基础上,第二个组合框检索子类别数据。但问题是 A 列有数据重复。我附上了一张图片。

我正在尝试的是:

Private Sub Combobox1_DropButtonClick()

    Dim rng As Range

    Dim ws As Worksheet

    Set ws = Worksheets("CompaniesandSubsidiaries")

    For Each rng In ws.Range("Companies")

        Me.ComboBox1.AddItem rng.Value

    Next rng

End Sub

Private Sub ComboBox2_DropButtonClick()

    Dim rng As Range

    Dim ws As Worksheet

    Set ws = Worksheets("CompaniesandSubsidiaries")

    For Each rng In ws.Range("Providers")

        Me.ComboBox2.AddItem rng.Value

    Next rng
End Sub

我为“A 列和 B 列”分别指定了公司和提供商的公式。但它重复了这些值。我不想要的。

我想要的是从 sheet3 动态获取第一个组合框的数据作为公司名称(没有重复),然后下一个组合框将启用,它将显示与公司名称对应的提供商列表。

请提供简单易懂的代码。谢谢

【问题讨论】:

  • 请通过显示您尝试过的内容以及遇到的问题来阐明您的具体问题,或者添加其他详细信息以准确突出您的需要。请参阅如何提问页面以获得更好的响应。
  • @suvartheec 请立即查看代码。
  • 你能展示你想要的样子吗?我仍然不确定我是否理解所需的结果。
  • @Hambone 用户表单中有两个组合框。一个组合框将显示公司名称,在这种情况下,公司名称将为 {company1, company2, company3, company4},当用户选择一个公司时,第二个组合框将自动从第二列检索数据,即 ABC、BCD、.. ... JKL 在公司 1 的情况下。如果是 company4 公司,则第二个组合框将仅显示 ABC 作为提供者。希望你能明白我的意思。

标签: vba excel combobox userform


【解决方案1】:

您可以在填充到 ComboBox 之前删除重复的数据 下面是删除重复值的代码:

ActiveSheet.Range("Companies").RemoveDuplicates Columns:=1, Header:=xlNo

您还可以手动将公司数据存储到数组变量中,迭代该数组中的每个项目以检查它是否重复。这是一个链接视频,演示了如何评估数组上的每个数据并产生独特/独特的价值。 https://www.facebook.com/excelfuneasy/videos/693150624214021/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 2019-01-17
    • 2018-09-27
    • 1970-01-01
    相关资源
    最近更新 更多