实现VBA打开事件代码执行完成后自动保存工作簿的需求
修改VBA代码实现工作簿打开后自动保存
针对你的需求,只需在现有代码末尾添加保存语句,同时修正原代码中可能存在的工作表引用问题,确保所有单元格操作都指向目标工作表,避免多用户场景下的错误。
修改后的完整代码:
Private Sub ThisWorkbook_Open() With ThisWorkbook.Sheets(1) ' 自增AH5单元格的值 .Range("AH5").Value = .Range("AH5").Value + 1 ' 拼接生成H4的编号 .Range("H4").Value = .Range("AH4").Value & .Range("AH5").Text End With ' 立即保存工作簿,确保编号修改被持久化 ThisWorkbook.Save End Sub
关键说明
- 原代码中
Range("H4")未指定工作表,可能会误操作当前激活的工作表,现在统一放入With ThisWorkbook.Sheets(1)块中,确保所有操作都针对第一个工作表。 ThisWorkbook.Save会直接保存当前工作簿的修改,确保更新后的编号立即被写入文件,避免其他用户打开时读取到旧的编号值,从根源上防止H4编号重复。
内容的提问来源于stack exchange,提问作者Paul Royle
相关产品推荐
相关产品推荐

