【发布时间】:2019-02-04 04:20:37
【问题描述】:
我在 VBA for Excel 2016 中开发了许多 UDF 和宏。我的一个宏使用输入框来获取宏随后使用的数据。我想用用户表单替换输入框。我创建了带有一个文本框的用户表单。我想激活用户表单,用默认数据填充文本框,并在选择 OK 时将文本框数据返回给宏。我已经广泛搜索了执行此操作所需的所有代码的端到端示例,但没有运气。这个简单问题的例子是否存在?
【问题讨论】:
-
要打开用户表单,请使用
userformname.show。查找用户窗体打开时执行的代码的 Userform_Initialize 事件。在这个子里你可以写你想要发生的事情,比如填写默认数据。 -
研究
Private Sub UserForm_Initialize的使用......正是这个例程将保存您的文本框默认值分配代码(如Me.myTextBox.value = "test") -
Private Sub btnOK_Click()(将 btnOK 替换为 OK 按钮的实际名称)将保存将Me.myTextBox的值移动到您选择的单元格的代码。 -
我尝试使用 userform_Initialize 子。它没有设置初始值。然后我尝试在调用 .show 之前立即设置它;那行得通。抱歉,我会附上代码,但我看不出有什么办法。
-
将您的代码添加到您的原始问题(不在评论中)。添加您的代码,选择它,然后单击工具栏中的
{}。或者,如果只有几行,请将代码行缩进 4 个空格。网站上的某处有问题发布说明。