如何保存在VBA控件上次输入的值

VBA里面建立一个窗体控件textbox其作用是给工作表的两个单元格赋值,每次在textbox控件里填入一个值或者文字就会在电子表指定的格里显示textbox控件输入的东西。但是再次打开textbox控件,之前一次输入的值就会不见到(在电子表里面仍然显示),如何修改VBA中的代码令到控件的表格都会保存之前一次输入的数值?全代码,采纳有分。

你的意思是不是文件关闭之后控件的值保存不住,下次打开又没了?
如果是这样,在工作簿的beforeclose事件中设置代码,把控件的值存在某个单元格里;在open事件中设置代码,再把存好的值读回来赋值给控件追问

这个执行不了,
我这个窗体textbox1是给sheet1的b2和sheet2的b2赋值的,在这个窗体下还有好多textbox控件,在textbox中赋值完成后关闭窗体,窗体的内容都显示到对应的单元格里了,但是当再次打开textbox控件时(这时工作表没有关闭),textbox就是空的,这个不是我想要的结果。我想要的是当再次打开时上次输入的内容还在。请以textbox1为例给个全代码好吗?

追答

设置用户窗体的初始化事件
Private Sub UserForm_Initialize()
With Me
.TextBox1.Value = Sheet1.[B2].Value
.TextBox2.Value = Sheet2.[B2].Value
End With
End Sub

追问

这个可以给单元格赋值,例如:就是当给textbox输完值(输入的值为50)相关的单元格里能显示出数值5,但当关闭窗体后,再次打开窗体时textbox所输入的数值5就没有了,我想让单元格里的数值也能够在textbox中显示出来,即在textbox中显示上次所输入的数值5。谢谢了

追答

1)设置用户窗体的初始化事件Private Sub UserForm_Initialize() With Me .TextBox1.Value = Sheet1.[B2].Value .TextBox2.Value = Sheet2.[B2].Value End WithEnd Sub
2)在工作表上放个按钮,调用窗体
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
3)在用户窗体上放个按钮,标题为“保存关闭”之类的,给其单击事件编写代码:
Private Sub CommandButton1_Click()
With Me
Sheet1.[B2].Value = .TextBox1.Value
Sheet2.[B2].Value = .TextBox2.Value
Me.Hide
End With
End Sub

这样就形成了一个完整的调用、赋值的循环过程

追问

这我才明白了,关键是me.hide,(相当于最小化)而我一直是在close。
真的相当的感谢,热情,快速,耐心,专业。

追答

不客气,盼采纳

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-03
可以用savesettings将数据保存到注册表,下次用getsettings读取
语法

SaveSetting appname, section, key,
setting
GetSetting(appname, section, key[, default])

如SaveSetting "MyApp","Startup", "Top", 75
第2个回答  2014-01-03
textbox.text=单元格的值
给他设直默认值就行了。追问

这个执行不了,
我这个窗体textbox1是给sheet1的b2和sheet2的b2赋值的,在这个窗体下还有好多textbox控件,在textbox中赋值完成后关闭窗体,窗体的内容都显示到对应的单元格里了,但是当再次打开textbox控件时(这时工作表没有关闭),textbox就是空的,这个不是我想要的结果。我想要的是当再次打开时上次输入的内容还在。请以textbox1为例给个全代码好吗?

相似回答