在寻找一种在用户窗体上模拟可填写网格的方法时,我发现了Mr. Excel网站上的这个内容:
Dim Grid(1 To 10, 1 To 5) As MSForms.TextBox
Private Sub UserForm_Initialize()
Dim x As Long
Dim y As Long
For x = 1 To 10
For y = 1 To 5
Set Grid(x, y) = Me.Controls.Add("Forms.Textbox.1")
With Grid(x, y)
.Width = 50
.Height = 20
.Left = y * .Width
.Top = x * .Height
.SpecialEffect = fmSpecialEffectFlat
.BorderStyle = fmBorderStyleSingle
End With
Next y
Next x
End Sub
我认为这太棒了。不要告诉我的客户,但我不知道你可以通过使用Dim Groupname(1 to x, 1 to y)
作为MSForms.TextBox来创建“文本框”的“数组”。
我试图了解更多信息,但搜索“控件数组”并没有指向这个功能。所以在这里问一下:
- “Array”是这种能力的真正术语吗?(这样我就可以进行更好的搜索以获取更多信息。)
- “网格”中的所有控件都是文本框。我想我可以像标签、按钮等一组控件一样做到同样的效果。但是是否有办法包括不同类型的控件?(例如,我希望第一列是标签,最后一列是组合框)
As Object
,则可以将任何类型的对象放入其中。 - Tim Williams