【问题标题】:Dynamically populate second Combobox with variable from first ComboBox使用来自第一个 ComboBox 的变量动态填充第二个 Combobox
【发布时间】:2013-08-22 00:13:01
【问题描述】:

我在 Excel VBA 中遇到了 ComboBox 的问题。非常感谢任何帮助。 这就是我想要做的:

  • 在用户窗体中,用户从名为“ComboBox_groesse”的第一个 ComboBox 中选择一个输入(具有固定 RowSource 的常规 ComboBox。输入是数字)
  • 当单击名为“ComboBox_config_1”的第二个 ComboBox 的 DropButton 时,该 ComboBox 将使用 NamedRange “KonfiRange_1_1”中的值填充,该值等于所选 ComboBox_groesse.value 的值
  • NamedRange 位于一个有 2 列的表中。第一列是带数字的 NamedRange,第二列是文本。
  • 我希望对应的文本与等于 ComboBox_groesse.value 的值一起出现在第二个 ComboBox 中

我已经编写了下面的代码,但我得到一个空白的 ComboBox_config_1。有人可以帮忙吗?提前致谢!

 Private Sub ComboBox_config_1_DropButtonClick()

    Dim teil As Range

    For Each teil In Tabelle1.Range("KonfiRange_1_1")

    If teil.Value = ComboBox_groesse.Value Then

        With Me.ComboBox_config_1

        .AddItem teil.Value

        End With

    End If
    Next teil

【问题讨论】:

    标签: excel vba combobox


    【解决方案1】:

    我会将此操作放在 ComboBox_groesse_Change 事件中,如下所示:

    Private Sub ComboBox_groesse_Change()
    
        Dim rngFound As Range
        Dim strFirst As String
        Dim strList As String
    
        Me.ComboBox_config_1.Clear
        If Me.ComboBox_groesse.ListIndex = -1 Then Exit Sub 'Nothing selected
    
        With Range("KonfiRange_1_1")
            Set rngFound = .Find(Me.ComboBox_groesse.Text, .Cells(.Cells.Count), xlValues, xlWhole)
            If Not rngFound Is Nothing Then
                strFirst = rngFound.Address
                Do
                    strList = strList & "|" & rngFound.Offset(, 1).Text
                    Set rngFound = .Find(Me.ComboBox_groesse.Text, rngFound, xlValues, xlWhole)
                Loop While rngFound.Address <> strFirst
            End If
        End With
    
        If Len(strList) > 0 Then Me.ComboBox_config_1.List = Split(Mid(strList, 2), "|")
    
        Set rngFound = Nothing
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2014-01-13
      • 1970-01-01
      相关资源
      最近更新 更多