Vba 我们有没有像控件名这样的变量名

Vba 我们有没有像控件名这样的变量名,vba,variables,controls,Vba,Variables,Controls,我可能会让事情变得更难,但。。。假设我有两个Userforms,在其中一个表单上有10个文本框,我想要这些值,并让它为每一个弹出一条消息。因此,我可以使用: For i=0 to 10 MsgBox UserForm1.Controls("TextBox" & i).Text Next i 现在让我们假设我想将这些变量转换成标记为TB1-TB10的变量,并且我想将每个文本框的值传递给这些变量 有没有一种方法可以像上面所说的那样一个接一个地做呢?比如: UserForm2.Var

我可能会让事情变得更难,但。。。假设我有两个Userforms,在其中一个表单上有10个文本框,我想要这些值,并让它为每一个弹出一条消息。因此,我可以使用:

For i=0 to 10
    MsgBox UserForm1.Controls("TextBox" & i).Text
Next i
现在让我们假设我想将这些变量转换成标记为TB1-TB10的变量,并且我想将每个文本框的值传递给这些变量

有没有一种方法可以像上面所说的那样一个接一个地做呢?比如:

UserForm2.Variables("TB" & i)?
更新: 这就是我的代码的样子:

For z = 1 To 25

   If Module1.FL(z) <> "" Then 

      For pCopy = 1 To UBound(PL1)

        FileCopy PL1(pCopy), ActiveWorkbook.Path & "\DB\Img\" & result &    TextBox1.Text & TextBox8.Text & TextBox10.Text & "\Car\" & Module1.FL(z) & "\" & pCopy & ".gdb"
        PL1(pCopy) = ActiveWorkbook.Path & "\DB\Img\" & result & TextBox1.Text & TextBox8.Text & TextBox10.Text & "\Car\" & Module1.FL(z) & "\" & pCopy & ".gdb"

      Next pCopy

   End If
Next z
z=1到25时的

如果模1.FL(z)“,则
对于pCopy=1到uBond(PL1)
FileCopy PL1(pCopy),ActiveWorkbook.Path&“\DB\Img\”&result&TextBox1.Text&TextBox8.Text&TextBox10.Text&“\Car\”&Module1.FL(z)&“\”&pCopy&“.gdb”
PL1(pCopy)=ActiveWorkbook.Path&“\DB\Img\”&result&TextBox1.Text&TextBox8.Text&TextBox10.Text&“\Car\”&Module1.FL(z)&“\”&pCopy&“.gdb”
下一份复印件
如果结束
下一个z
它检查一组名称数组,并将其添加到模块中。如果找到一个名称,它将复制PL1中存储的文件名。事实是,PL1只特定于一组特定的文件。我有PL1=PL25,我需要它来检查其中是否有任何数据,如果有,将内容从模块复制到特定名称。所以我需要类似PL(z)的帮助

控制集合

包括对象中包含的所有控件

备注

对象的控件集合中的每个控件都有一个唯一的索引,其值可以是整数或字符串。集合中第一个控件的索引值为0;第二个控件的值为1,依此类推。此值指示控件添加到集合的顺序

如果索引是字符串,则它表示控件的名称。控件的Name属性还指定控件的名称

可以使用控件集合枚举或计数单个控件,并设置其属性。例如,可以枚举特定窗体的控件集合,并将每个控件的Height属性设置为指定值

注意For Each…Next语句用于枚举集合