当光标在单元格中处于活动状态时,Excel自动保存宏不会执行

时间:2017-04-20 21:34:01

标签: excel vba excel-vba

我有一个宏,每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

1 个答案:

答案 0 :(得分:0)

编辑单元格时无法运行宏。您需要用户单击另一个单元格或按Enter键。

查看以下众多搜索结果之一: https://stackoverflow.com/questions/26848266/start-vba-macro-when-editing-a-cellunles