【问题标题】:Initializing a userform class初始化用户窗体类
【发布时间】:2012-05-09 19:34:26
【问题描述】:

我在 excel 中创建了一个用户表单和几个按钮(数字将在运行时设置)。单击时,每个按钮将打开自己的用户表单版本(相同的用户表单,但每个按钮将有自己的用户表单,例如:按钮 1 将打开用户表单 1,按钮 2 将打开用户表单 2 等,每个用户表单都是相同的用户表单类)。

我正在考虑以某种方式创建一个用户表单类,每个按钮都会实例化一个用户表单对象。

我只是不确定实现此目的的正确代码/语法是什么。

【问题讨论】:

  • 我可能很天真,但我认为您需要将每个特定的用户表单作为一个单独的实例引用......您是在谈论每次单击按钮时动态创建用户表单,基于类模块?
  • 对不起,如果我使用了错误的术语...我只是在学习 VBA。我在 Visual Basic 编辑器中创建了一个用户表单。当用户单击 excel 中的按钮时,将创建一个用户表单对象,用户可以与此用户表单进行交互。单击另一个按钮将创建相同用户表单“类”的另一个用户表单对象。基本上相同的布局、外观等,但在用户表单中填写的数据属于那个“按钮”。不知道这是否仍然很模糊......

标签: excel vba userform


【解决方案1】:

根据您上次的评论,我认为这可能会有所帮助。

只需创建一个用户表单。然后创建一个打开用户表单并用参数化变量填充特定数据的函数。然后为每个按钮调用将变量传递给函数。像这样的:

Private Sub Button1_Click()

load_user_form "Handy", "Code"

End Sub

Private Sub Button2_Click()

load_user_form "different", "data"

End Sub

Function load_user_form(strField1 as String, strField2 as String)

userForm.Show
userForm.TextBox1.Value = strField1
userForm.textBox2.value = strfield2
End Function

此代码可能不正确,但它会带您到达那里。

【讨论】:

  • 谢谢!我想我可以将此作为解决方案的起点
猜你喜欢
  • 2013-06-01
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多