Excel 如何在userform对象指示符名称(VBA)中使用变量
我正在VBA中创建一个用户表单,我要搜索的是一个特定的文本,当它被找到时,我希望从下一个单元格填充文本框 我的代码是:Excel 如何在userform对象指示符名称(VBA)中使用变量,excel,vba,Excel,Vba,我正在VBA中创建一个用户表单,我要搜索的是一个特定的文本,当它被找到时,我希望从下一个单元格填充文本框 我的代码是: i = TextBox1.Value Set orange = Sheets(1).Range("A1:A10000").Find(i, LookIn:=xlValues, lookat:=xlWhole) If orange Is Nothing Then MsgBox "No Match Found" Else: j = orange.Address ka = 1 kb =
i = TextBox1.Value
Set orange = Sheets(1).Range("A1:A10000").Find(i, LookIn:=xlValues, lookat:=xlWhole)
If orange Is Nothing Then
MsgBox "No Match Found"
Else: j = orange.Address
ka = 1
kb = 11
For k = 1 To 10
UserForm1(TextBox & kb).Value = Sheets(1).Range(j).Offset(0, ka).Value
ka = ka + 1
kb = kb + 1
Next k
当然UserForm1(TextBox&kb)。Value=Sheets(1)。Range(j)。Offset(0,ka)。Value
不起作用
有什么帮助吗?- 使用
代替表单名称Me
- 您不需要所有这些计数器变量,只需使用循环计数器即可
- 使用
集合访问文本框(传入字符串)控件
- 缩进代码
i = TextBox1.Value
Set orange = Sheets(1).Range("A1:A10000").Find(i, LookIn:=xlValues, lookat:=xlWhole)
If orange Is Nothing Then
MsgBox "No Match Found"
Else
For k = 1 To 10
Me.Controls("TextBox" & (k+10)).Value = orange.EntireRow.Cells(k).Value
Next k
end if