【发布时间】:2017-06-21 17:23:27
【问题描述】:
先生,我正在努力解决这个问题。请帮忙。我在用户表单上制作了许多文本框,例如 textbox1、2、3、4、5、6、7、8 到 16。我有这样的数据 我想在组合框中输入一个名字,并希望在 TextBox1 中显示第一个搜索结果的名称,在 Textbox3 中显示年龄在 textbox2 中的城市,然后在下一个单元格中循环搜索相同的值,如果找到,则在文本框 4 中显示他的名字,在 Textbox5 中显示年龄,在文本框 6 等(最多可找到 4 个结果)。我正在使用以下代码,但它仅在 Textbox1、Textbox2 和 Textbox3 中显示第一个找到的结果,但在 Textbox4、5 和 6 中没有弹出第二个找到的结果。请帮助:代码如下
Private Sub CommandButton1_Click()
Dim fnd As String, FirstFound As String
Dim FoundCell As Range, rng As Range
Dim myRange As Range, LastCell As Range
Dim a, b, c As Integer
a = 1
b = 2
c = 3
fnd = ComboBox1.Value
Set myRange = Sheets("Data").Range("B4:B50")
Set LastCell = myRange.Cells(myRange.Cells.Count)
Set FoundCell = myRange.Find(What:=fnd, After:=LastCell)
If Not FoundCell Is Nothing Then
FirstFound = FoundCell.Address
Else
GoTo NothingFound
End If
Set rng = FoundCell
Do Until FoundCell Is Nothing
UserForm1.Controls("TextBox" & a).Text = FoundCell.Offset(0, 0).Value
UserForm1.Controls("TextBox" & b).Text = FoundCell.Offset(0, 1).Value
UserForm1.Controls("TextBox" & c).Text = FoundCell.Offset(0, 2).Value
a = a + 3
b = b + 3
c = c + 3
If FoundCell.Address = FirstFound Then Exit Do
Loop
Exit Sub
NothingFound:
TextBox1.Text = "not found"
TextBox2.Text = "not found"
TextBox3.Text = "not found"
End Sub
请帮我解决这个问题。我已经搜索了数百个网站,但停留在这一点上。非常感谢提前
【问题讨论】:
-
感谢您的解决方案