我有一个宏,每5分钟自动保存一次工作簿,以避免丢失数据。工作簿设置有数据连接,用于从PLC控制器收集生产数据,生产操作员也可以在工作簿中输入注释。
问题是,如果有人开始输入注释但没有通过按Enter或制表符或单击其他单元格来确认输入,则自动保存宏将不会执行,并且直到焦点才会保存工作簿更改另一个单元格。
我尝试在执行save语句之前更改宏中的活动单元格,但这不起作用。在尝试保存文件之前,有没有办法接受输入(但未确认)的单元格内容?还有其他我没想过的解决方案吗?
这是宏代码:
Sub AutoSaveAs()
dTime = Time + TimeValue("00:05:00")
With Application
.OnTime dTime, "AutoSaveAs"
.EnableEvents = False
.DisplayAlerts = False
ActiveCell.Offset(1, 0).Select 'This is the code where I tried to change the active cell
ThisWorkbook.SaveAs "//ThisFilePath/ThisWorkbookName"
.EnableEvents = True
End With
End Sub
答案 0 :(得分:0)
编辑单元格时无法运行宏。您需要用户单击另一个单元格或按Enter键。
查看以下众多搜索结果之一: https://stackoverflow.com/questions/26848266/start-vba-macro-when-editing-a-cellunles