excel - 重新加载表单时如何保留文本框中的值

标签 excel vba

我有一个非常简单的 vba 宏应用程序,由 2 个文本框和命令按钮组成。这个想法是用户需要在文本框中输入数值,然后单击按钮将其禁用,这样他们就无法更改该值。当表单重新加载时,数值会丢失,我必须重新输入另一个值。

我想要的是当表单重新加载时,数值将保留。

Private Sub btnLock_Click()

txtApple.Enabled = False
txtBanana.Enabled = False

End Sub

图片

[1]

enter image description here

最佳答案

您需要记住,本质上您拥有一个可供您使用的数据库以及工作簿本身。

我的建议是,当用户添加值并单击按钮时,将该值插入到工作表中(您可能需要使用该工作表来保护、隐藏等……或者不需要),然后获取该值再次打开表单时,值会从工作表中返回。

您实际上只需将该值放在某个地方,以便在表单重新出现时可以再次获取该值。如果您不喜欢工作表方法,那么工作站上总会有数据库、文件、内存等。

类似这样的事情...

Private Sub btnLockBox_Click()
    Sheet1.Range("A1") = txtNumber.Text
    txtNumber.Enabled = False
End Sub

Private Sub UserForm_Initialize()
    txtNumber.Text = Sheet1.Range("A1")

    If txtNumber.Text <> "" Then
        txtNumber.Enabled = False
    End If
End Sub

enter image description here

我希望我已经正确理解了您的要求,并且希望这种方法有所帮助。

关于excel - 重新加载表单时如何保留文本框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56204847/

相关文章:

excel - 使用 Excel VBA 返回 Outlook MAPIFolder 类型

excel - 如何创建动态范围变量

excel - 打开对话框默认为指定的网络路径(不是驱动器)

vba - 检查工作表名称以避免重复

vba - 表单控件在代码中使用 .shapes 和使用 .buttons 的区别?

arrays - VBA 中的子数组 - 我想切掉一个维度

java - 将文件作为输入流读取时如何获取 Excel 文件名

variables - 何时应终止 Excel VBA 变量或将其设置为 Nothing?

vba - 动态格式化为表格 Excel VBA

VBA 嵌套 For 循环导致 Excel 崩溃