我有一个非常简单的vba宏应用程序,包含2个文本框和命令按钮。想法是用户需要在文本框中输入数字值,然后单击按钮将其禁用以使他们无法更改该值。重新加载表单后,数值会丢失,我必须重新输入另一个值。
我想要的是重新加载表单后,数值将保持不变。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="boxes">
<div class="item">
<span class="dot"></span>
<label data-color="rgb(255, 64, 129)" class="checkbox" for="one">
<input class="input" id="one" type="checkbox">Lobster
<i class="far fa-times cancel"></i>
</label>
</div>
<div class="item">
<span class="dot"></span>
<label data-color="rgb(49, 231, 182)" class="checkbox" for="two">
<input class="input" id="two" type="checkbox">Tuna
<div class="cancel">x</div>
</label>
</div>
<div class="item">
<span class="dot"></span>
<label data-color="blue" class="checkbox" for="three">
<input class="input" id="three" type="checkbox">Pine
<div class="cancel">x</div>
</label>
</div>
</div>
图片
[
答案 0 :(得分:2)
您需要记住,本质上讲,您拥有工作簿本身可以使用的数据库。
我的建议是,当用户添加值并单击按钮时,将该值插入到工作表中(您可能需要用它来保护,隐藏等……或与此无关),然后获取该值。再次打开表单时,从工作表中返回值。
从本质上讲,您只需要将值放在可以再次出现的表单中即可。如果您不喜欢工作表方法,那么总会有数据库,工作站上的文件,内存等。
类似这样的事情...
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
我希望我已经正确理解了您的要求,希望这种方法有所帮助。