首页 > 解决方案 > 重新加载表单时如何保留文本框中的值

问题描述

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

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

Private Sub btnLock_Click()

txtApple.Enabled = False
txtBanana.Enabled = False

End Sub

图片

[1]

在此处输入图像描述

标签: excelvba

解决方案


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

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

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

像这样的东西...

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

在此处输入图像描述

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


推荐阅读