我正在尝试设置一个用户表单来执行循环并在我的表中查找信息,该信息位于同一工作簿中的单独工作表中。
我希望我的用户表单在我输入时在表格中查找信息,然后自动填写其他文本框,以便我可以限制击键和重复。
我找到了一些可以根据需要使用其他用户表单的代码。但是,当我尝试为我的表使用相同的代码时,它会像看起来那样遍历循环,但它不会填充用户表单。我尝试更改用户表单文本框名称并确保名称匹配...但无济于事。我还必须跳过用户表单上的组合框,这会影响我的代码吗?
try
答案 0 :(得分:0)
尝试将您的范围限定为工作表参考:
Option Explicit
Sub GetDataA()
Dim id As String, i As String, j As Integer, flag As Boolean
If Not IsNumeric(UserForm1.TextBox1.Value) Then
flag = False
i = 0
id = UserForm1.TextBox1.Value
With Worksheets("myTableWorksheetName") '<--| change "myTableWorksheetName" to your actual worksheet with table name
Do While .Cells(i + 1, 1).Value <> ""
If .Cells(i + 1, 1).Value = id Then
flag = True
For j = 2 To 7
UserForm1.Controls("TextBox" & j).Value = .Cells(i + 1, j).Value
Next j
End If
i = i + 1
Loop
End With
If flag = False Then
For j = 5 To 10
UserForm1.Controls("TextBox" & j).Value = ""
Next j
End If
End If
End Sub