我可能会让它变得比实际更难但是......说我有两个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
它检查模块的一组名称。如果找到名称,它将复制存储在PL1中的文件名。事实是,PL1仅特定于某组文件。我有PL1 = PL25我需要它来检查它们中是否有任何数据,如果是这样,将内容复制到模块中的特定名称。所以我需要像PL(z)这样的东西。
答案 0 :(得分:0)
来自帮助
控制集合
包含对象中包含的所有控件。
<强>说明强>
对象的Controls集合中的每个控件都有一个唯一索引,其值可以是整数或字符串。集合中第一个控件的索引值为0;第二个控件的值是1,依此类推。此值指示将控件添加到集合的顺序。
如果索引是字符串,则表示控件的名称。控件的Name属性还指定了控件的名称。
您可以使用Controls集合枚举或计算单个控件,并设置其属性。例如,您可以枚举特定表单的Controls集合,并将每个控件的Height属性设置为指定值。
注意 For Each ... Next语句对于枚举集合非常有用。