我在VBA中创建了一个带有许多文本框的用户界面。我读了一张excel表,我将这一项的所有价值都放在用户界面的所有文本框中。因此,用户可以修改这些值,然后将其保存在Excel工作表中。
因为我们不能像文件框(textBox(1),textbox(2)....)那样命名文本框,所以使用循环函数很难填充文本框。
我尝试使用tag或tabindex属性,但我找不到好的方法继续....有人知道一个简单的方法来解决这个问题!
谢谢
答案 0 :(得分:1)
是的,你可以。
将文本框命名为Textbox1,Textbox2等,然后使用
访问它们Form.Controls("Textbox" & ID)
答案 1 :(得分:1)
您可以使用此代码填充多个文本框
Dim rs As Object
Dim i As Integer
Dim ctlr As Control
Set rs = Me.Recordset.Clone
For Each ctlr In Me.Controls
If TypeOf ctlr Is TextBox Then
For i = 0 To ctlr.Controls.Count
On Error Resume Next
ctlr.Value = rs!SomeField
rs.MoveNext
Next i
End If
Next
答案 2 :(得分:0)
迭代表单的控件集合。
例如,您的用户表单称为myForm,然后是
myForm.Controls(i)
让你掌握myForm中的任何控件。现在,您可以使用控件属性来标识您正在查看的那个(标签,文本框,按钮等)。我建议您使用标记,例如,hmmmm ....“TEXTBOX”,以简化ID的过程。
if myForm.Controls(i).Tag="TEXTBOX" then 'it's my textbox ! hurraay!!!