我正在Excel中编写VBA代码,以根据在ComboBox中选择的值将多行输入TextBox。这是我编写的以下代码。它列出的只是最后一行,而不是我想要的所有行。防爆。第76列是ComboBox显示值的位置。如果值匹配,那么它应该在TextBox中返回我在列77中找到的所有值。即,如果我在我的ComboBox BFSI中选择它,它应该返回我的LIC of India& SBI。但我的代码只返回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
答案 0 :(得分:1)
是的,您的代码会这样做。问题是,当它到达第二个" BFSI"单元格,它将覆盖第77列中的第一个项目,而不是附加它。改变这一行
TextBox21.Text = Sheets("Pivots").Cells(iRow, 77)
到
TextBox21.Text = TextBox21.Text & "&" & Sheets("Pivots").Cells(iRow, 77)
然后,第77列中的值将附加到您的TextBox值。在我的示例中,它们将使用&
符号分隔,以适应您的需求。