Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何在子程序中为userform上的每个控件创建动态命名?_Vba - Fatal编程技术网

Vba 如何在子程序中为userform上的每个控件创建动态命名?

Vba 如何在子程序中为userform上的每个控件创建动态命名?,vba,Vba,我想创建一个例程,调用该例程时将根据控件名动态执行函数。这是我的密码: Private Sub myControl(counter as string) If mySecondControl & counter.Value = "Y" Then myThirdControl & counter.Caption = "Do Something Here" 'Error syntax End If End Sub Private Sub doThis

我想创建一个例程,调用该例程时将根据控件名动态执行函数。这是我的密码:

Private Sub myControl(counter as string)
    If mySecondControl & counter.Value = "Y" Then
        myThirdControl & counter.Caption = "Do Something Here" 'Error syntax
    End If
End Sub

Private Sub doThis_Change()
    myControl("1")
    myControl("2")
End Sub

您需要从表单的
控件
集合中获取所需的
控件

If Controls("mySecondControl" & counter).Value = "Y" Then
    Controls("myThirdControl" & counter).Caption = "Do Something Here"
End If

您需要从表单的
控件
集合中获取所需的
控件

If Controls("mySecondControl" & counter).Value = "Y" Then
    Controls("myThirdControl" & counter).Caption = "Do Something Here"
End If

好的,我知道你在做什么。但是“设置表单名称”并不是OP需要做的事情。他们需要从
控件
集合访问控件,并使用该
控件
对象。。。就像代码所做的那样。使用MyFormName的
是有害的,它对默认实例有效,并且控件很可能不在该实例上。您想让我使用
,这是完全多余的,因此请删除
With
块,只需执行
If控件(“…”
)。在表单的默认实例上工作,总有一天会让你吃亏的。不要那样做。谢谢你的编辑,但我完全是多余的?以前从未听说过。因为
Me
引用了类的当前实例,所以您已经可以直接访问它的所有成员-
和我一起
根本不会给您买任何东西,它不会暴露任何不可访问的东西。事实上,
和我一起
不允许你访问任何你已经可以访问的私人成员,因此它实际上是有害的。不,谢谢你-这给了我一个=)好的,我知道你在做什么了。但是“设置表单名称”并不是OP需要做的事情。他们需要从
控件
集合访问控件,并使用该
控件
对象。。。就像代码所做的那样。使用MyFormName的
是有害的,它对默认实例有效,并且控件很可能不在该实例上。您想让我使用
,这是完全多余的,因此请删除
With
块,只需执行
If控件(“…”
)。在表单的默认实例上工作,总有一天会让你吃亏的。不要那样做。谢谢你的编辑,但我完全是多余的?以前从未听说过。因为
Me
引用了类的当前实例,所以您已经可以直接访问它的所有成员-
和我一起
根本不会给您买任何东西,它不会暴露任何不可访问的东西。事实上,
和我一起
不允许你访问任何你已经可以访问的私人成员,因此它实际上是有害的。不,谢谢你,这给了我一个=)