VBA的Excel – 更新控制dynamic编址的用户窗体

我有一些静态控件的用户forms。 我创build了一个类模块来将事件处理程序应用到我dynamic添加到用户窗体的一组texbox上。 当我专门处理来自类模块的用户表单时,我可以更新静态控件中的值…

IAFStep2c.Controls("chkOptIn").Value = True 

但是,当我尝试更新与他们的用户名在一个variables中的控件不起作用…

 Dim oUserFOrm As Object Dim formName As String formName = "IAFStep2c" Set oUserFOrm = UserForms.Add(formName) oUserFOrm.Controls("chkOptIn").Value = True 

我可以读取控件的值和其他属性,只是不更新​​它们。 有人可以提供解决scheme吗?

编辑

我用下面的类创build了另一个电子表格,结果相同。 TextBox1和3得到更新,textBox2不会。

 Sub doStuff() 'MsgBox ("ping") Dim oUserFOrm As Object Dim formName As String formName = "frmTest" Set oUserFOrm = UserForms.Add(formName) frmTest.Controls("TextBox1").Value = oUserFOrm.Controls("TextBox2").Name oUserFOrm.Controls("TextBox2").Value = "PING" frmTest.Controls("TextBox3").Value = oUserFOrm.Controls("TextBox2").TextAlign 

结束小组

这是我如何做到的:

 UserForm1.Controls("Textbox1").Text = "123" 

至less在我尝试的时候,它起作用了。 Office 2010。