【问题标题】:Excel VBA + Return multiple rows in TextBox based on values in ComboBoxExcel VBA +根据ComboBox中的值返回TextBox中的多行
【发布时间】:2015-04-25 20:02:42
【问题描述】:

我正在 Excel 中编写 VBA 代码,以根据在 ComboBox 中选择的值将多行放入 TextBox。这是我编写的以下代码。它只列出了最后一行,但没有列出我想要的所有行。前任。第 76 列是 ComboBox 将显示值的位置。如果值匹配,那么它应该在 TextBox 中返回我在第 77 列中找到的所有值。即,如果我在我的 ComboBox BFSI 中选择,它应该返回我印度和 SBI 的 LIC。但我的代码只返回 SBI。

Private Sub ComboBox22_Change()
    'Variable Declaration
    Dim iRow, StartLine, EndLine As Integer
    EndLine = 50
    iRow = 6

    'Clear Combobox2 before loading items
    TextBox21.Text = ""
    For StartLine = 1 To EndLine
        If ComboBox22.Text = Sheets("Pivots").Cells(iRow, 76) Then
                TextBox21.Text = Sheets("Pivots").Cells(iRow, 77)
        End If
        iRow = iRow + 1
    Next StartLine

End Sub

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    是的,您的代码可以做到这一点。问题是当它到达第二个“BFSI”单元格时,它将覆盖第 77 列中的第一项,而不是附加它。改变这一行

    TextBox21.Text = Sheets("Pivots").Cells(iRow, 77)
    

    TextBox21.Text = TextBox21.Text & "&" & Sheets("Pivots").Cells(iRow, 77)
    

    然后,第 77 列中的值将被附加到您的 TextBox 值中。在我的示例中,它们将用& 符号分隔,以适应您的需求。

    【讨论】:

    • 谢谢你。 TextBox21.Text = TextBox21.Text & vbCrLf & Sheets("Pivots").Cells(iRow, 77) 正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多