Vba frmMenu.控件(控件)代码有问题,但窗体除外
很抱歉标题不好,但我不知道怎么说,因为英语是我的第二语言 我有一个名为“frmMenu”的表单,其中有一个名为“txtName”的文本框 我有一个模块中的代码:Vba frmMenu.控件(控件)代码有问题,但窗体除外,vba,forms,excel,Vba,Forms,Excel,很抱歉标题不好,但我不知道怎么说,因为英语是我的第二语言 我有一个名为“frmMenu”的表单,其中有一个名为“txtName”的文本框 我有一个模块中的代码: Public Sub TextMenu(ByVal SomeVariable As String) frmMenu.controls(SomeVariable).text="hi" end sub 我使用参数“txtName”调用模块,以指向表单上的文本框 如果有多个表单具有相同的文本框名称,如何指向多个表单?类似于“.control
Public Sub TextMenu(ByVal SomeVariable As String)
frmMenu.controls(SomeVariable).text="hi"
end sub
我使用参数“txtName”调用模块,以指向表单上的文本框
如果有多个表单具有相同的文本框名称,如何指向多个表单?类似于“.controls”代码的东西,但用于表单
谢谢您需要在
VBA.UserForms
集合和表单上的每个控件上循环所有加载的UserForms
您可以让函数通过提供控件名称来返回控件
Public Function ControlByName(ByVal Name As String) As Object
Dim f As UserForm, c As Control
For Each f In VBA.UserForms
For Each c In f.Controls
If c.Name = Name Then
Set ControlByName = f.Controls(Name)
Exit For
End If
Next c
Next
End Function
那么就称之为:
Sub T()
Dim f As TextBox2
Set f = ControlByName("TextBox1")
Debug.Print f.Text
Dim b As CommandButton
Set b = ControlByName("CommandButton1")
Debug.Print b.Caption
End Sub