首先是一些背景信息:
我正在Excel中开展一个项目。当您打开文件时,会弹出一个userform并要求输入多个文本框。然后它将输入放在Excel文档中的某些单元格中。然后弹出另一个用户窗体,并要求输入更多的输入,这些输入像以前一样插入到单元格中。 接下来,它在文本框中请求数字输入,并且此数据在Excel文档中的每个类别下插入相应的行数。
现在出现问题。
我要做的下一件事是拥有一个userform,它根据用户在之前的userform中输入的数字动态创建一定数量的标签和文本框。我已经想出了如何将变量从一个用户窗体带到另一个用户窗体;现在我遇到动态创建的文本框命名问题。好吧,我真的知道如何命名,但无法弄清楚如何使用文本框' .Text属性作为Excel文档中单元格的输入。我花了六个多小时在网上搜索有关如何执行此操作的说明,我可以将其应用到我的项目中,所以现在我正在寻找个性化的帮助。
以下是我考虑过的选项:
Arrays
Controls.Add("txtBoxName" & i) in a For...Next loop
I have actually tried the For...Next loop with Controls.Add,
and had absolutely no luck.
这两个问题,虽然从长远来看,阵列可能更方便,是(至少我看到它),你必须命名文本框,然后调用名称,这是一种语法我找不到任何地方。
有人可以帮忙吗?如果需要,我可以发布相关代码。
另外,如果我忽视了某些事情,请随意指出正确的方向。不过,我可能会请求帮助理解它! ;)
谢谢, Dudebird47
答案 0 :(得分:2)
在运行时添加了一个按钮的简单示例,其中包含用于处理其click事件的代码:
Option Explicit
Private WithEvents btn As MSForms.CommandButton
Private Sub btn_Click()
MsgBox "You clicked me"
End Sub
Private Sub UserForm_Initialize()
Set btn = Me.Controls.Add("Forms.CommandButton.1", "some_button", True)
With btn
.Top = 5
.Left = 5
.Width = 75
.Height = 50
.Caption = "click me"
End With
End Sub