打开用户表单时编辑excel文件
我的实际情况是:打开用户表单时编辑excel文件,excel,vba,excel-2016,Excel,Vba,Excel 2016,我的实际情况是: 我打开一个excel文件 单击一个补码,即a .XLA,这个XLA打开一个用户窗体 然后我在工作的几个小时内填写这个用户表单 问题是,有时我需要编辑前几天的数据,但我需要关闭用户表单,并且我已经填写的所有信息都会丢失 我试过所有这些: 在userform中插入一个命令按钮来隐藏它,但是当我从补码中重新加载它时,一切都丢失了 在userform中插入一个命令按钮以隐藏它,并放置一个60秒计时器以再次显示它,但我无法编辑excel 在userform中插入带有计时器的命令按钮,并使
Private子命令按钮2\u单击()
暗暂停时间、开始、结束、总时间
如果(MsgBox(“Pulsa Yes para editar la hoja a mano”,4))=vbYes,则
Application.ScreenUpdating=True
UserForm1.Hide
UserForm1.showfalse
暂停时间=10'设置持续时间。
开始=计时器“设置开始时间。
定时器<启动+暂停时间时执行
DoEvents对其他流程的产量。
环
完成=计时器
UserForm1.Hide
UserForm1.Show
Application.ScreenUpdating=False
其他的
终点
如果结束
端接头
提前感谢尝试
UserForm1.Show 0
,它将窗体显示为无模式,并允许您在打开时访问应用程序的其他部分-注意:userform不会显示在任务栏上(默认情况下-您需要对其进行编码以使其显示)因此,它很容易在应用程序窗口后面丢失。这是否回答了您的问题?您可以在表单中添加暂停和恢复功能。“暂停”应该将您的表单上的所有控件的当前值保存在临时表或文档属性中,或者作为XLA中的全局变量保存。然后,您可以允许用户关闭表单。UserForm_Initialize中的“resume”选项需要识别暂停状态的存在,并相应地填充控件。做这一切的难度很大程度上取决于你身体的结构。如果它主要是简单的控件,那么可以通过几个相当简单的循环来完成。
Private Sub CommandButton2_Click()
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("Pulsa Yes para editar la hoja a mano", 4)) = vbYes Then
Application.ScreenUpdating = True
UserForm1.Hide
UserForm1.Show False
PauseTime = 10 ' Set duration.
Start = Timer ' Set start time.
Do While Timer < Start + PauseTime
DoEvents ' Yield to other processes.
Loop
Finish = Timer
UserForm1.Hide
UserForm1.Show
Application.ScreenUpdating = False
Else
End
End If
End Sub