【发布时间】:2011-05-14 06:38:43
【问题描述】:
我有 2 张 excel 表格中的数据,比如 sheet2 和 sheet3,两张表格的 column1 中的值相同。所以我创建了一个带有 1 个下拉列表(Combobox1)、4 个文本框字段和 1 个列表框字段的用户表单。
下拉列表从 sheet2 的第 1 列(例如 A2:20)中选择数据,然后一旦选择了一个值,它应该分别在文本框中显示相应的行值 例如: 从 sheet2 对应的 col-2 应该显示在 textbox1 中,col-3 在 textbox2 中,col4 在 textbox3 中,col5 在 textbox4 中。 而从 sheet3 它应该匹配 column1 值与下拉列表(组合框)中的选定值匹配的行,并且所有相应的值(在 Col 2 - Col52 中)应该显示在用户表单 ListBox1 中。 我是 vba 和 excel 的新手,所以在谷歌的帮助下,我终于能够执行上述一些任务,但我没有得到任何头尾如何将选定的范围值连接到文本框和列表框。 任何帮助都将受到高度赞赏,对我来说将是一个很好的学习课程。 这是我创建的一半但不起作用的代码。
Private Sub ComboBox1_Change()
Application.ScreenUpdating = False
Dim CL As Object
Worksheets(2).Select
For Each CL In Worksheets(2).Range("A2:A20")
If CL = ComboBox1.Text Then
Range(ActiveCell, ActiveCell.Offset(0, 4)).Copy Destination:=ActiveCell.Offset(0, 5)
End If
Next
Worksheets(2).Select
End Sub
Private Sub UserForm_Activate()
ComboBox1.RowSource = "A2:A20"
End Sub
【问题讨论】: