标签:VBA,用户窗体
下面的过程能够在指定工作表中列出指定用户窗体中所有控件的名称:
Sub ListControls()
Dim lCntr As Long
Dim aCtrls() As Variant
Dim ctlLoop As MSForms.Control
'修改用户窗体名称为实际名称
For Each ctlLoop In UserForm1.Controls
lCntr = lCntr + 1
ReDim Preserve aCtrls(1 To lCntr)
aCtrls(lCntr) = ctlLoop.Name
Next ctlLoop
'修改工作表名称为实际名称
Worksheets("Sheet1").Range("A1").Resize(UBound(aCtrls)).Value = Application.Transpose(aCtrls)
End Sub
你需要将代码中用户窗体名称UserForm1修改为你想要列出控件的用户窗体实际名称,将工作表名称Sheet1修改为你想要放置所列控件名称的工作表实际名称。
这段程序代码很简洁,但使用了数组及实时调整数组大小并保留数组原内容、给工作表单元格区域一次性赋值等技术,有兴趣的朋友可以自己体味。
VBA代码并不一定需要很长,短短的几句代码往往起到的作用更大。