Excel VBA +根据ComboBox中的值在TextBox中返回多行

时间:2015-04-25 08:48:40

标签: excel vba excel-vba

我正在Excel中编写VBA代码,以根据在ComboBox中选择的值将多行输入TextBox。这是我编写的以下代码。它列出的只是最后一行,而不是我想要的所有行。防爆。第76列是ComboBox显示值的位置。如果值匹配,那么它应该在TextBox中返回我在列77中找到的所有值。即,如果我在我的ComboBox BFSI中选择它,它应该返回我的LIC of India& SBI。但我的代码只返回SBI。

enter image description here

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

1 个答案:

答案 0 :(得分:1)

是的,您的代码会这样做。问题是,当它到达第二个" BFSI"单元格,它将覆盖第77列中的第一个项目,而不是附加它。改变这一行

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

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

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