1

我是 Excel VBA 编程的新手,因此我在自己的项目中遇到了一些困难。

长话短说,我在每个用户窗体中有 10 个用户窗体和 10 个文本框,具有相同的文本框名称。

我是否可以创建一个可以在每个用户窗体中调用它的函数,这样我就不必为每个用户窗体手动编写代码。关于该功能,它将重置 TextBox 的值,并将其恢复到“初始”状态。

这就是我的问题。任何帮助将不胜感激。在此先感谢。

4

2 回答 2

0

创建一个SubModule从每个表单调用的

例如

Sub TextBoxInit(tb As MSForms.TextBox)
    tb.Text = ""
End Sub

UserForm在你认为合适的时候调用它

例如

Private Sub Userform_Initialize()
    Module1.TextBoxInit TextBox1
End Sub
于 2012-12-19T04:57:00.953 回答
0

谭,

您应该考虑使用Class Modules。实际上我最近才了解它们,它们是管理具有类似构造控件的多个用户表单的一种非常有效的方法。

转到此处:VBA 用户窗体:防止组合框在 KEYDOWN 上转义

或在这里:EXCEL VBA:dblClick,重复代码改进

这些类模块如何工作的基础是您创建自己的对象,为它编写代码,并将所需的用户窗体控件分配为该对象类型(类)。例如,如果您有 20 个以相同方式执行的文本框(它们重新启动自己的值),您只需在类模块部分编写相同的代码。砰!差不多就是这样(您还必须编写一段代码来循环并分配您想要此功能的文本框)。

可能需要一段时间才能理解,但它会显着改善您的项目。

于 2013-07-22T18:06:06.363 回答