如何使得修改excel单元格,指定单元格日期自动加1

A1单元格是一个日期,如何实现执行另存为动作时,A1单元格的日期自动加一天
或者
A1单元格是一个日期,如何实现其他单元格有修改时,A1单元格的日期自动加一天
dhf104109的答案也能够实现这个功能,没采纳你答案的原因是你比苏州老三石回答的晚一些,抱歉。
coolbi5想实现我的两个功能但是两条语句都没通过测试。抱歉。

打开你的excel表格,按alt+f11进入vbe编辑窗口,在工程窗口中双击thisworkbook,会打开一个模块,然后把下面的代码放进去,然后保存
这样如果你的指定工作表有变化就会在a1的日期上加1
(代码中我用Sheet1代表指定的工作表,你把这个替换成你的工作表名字就可以了)

----------------------------以下代码--------------------------
Option Explicit
Public ischange As Boolean

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ischange = True Then
Sheets("Sheet1").Range("a1").Value = Sheets("Sheet1").Range("a1").Value + 1
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Sheet1" And Target.Address(0, 0) <> "A1" Then
ischange = True
Exit Sub
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-25
在你的工作表名称那里,右键——查看代码,
把下面的代码复制了粘贴进去,保存,
你每修改一个单元格,A1的日期会加1

Private Sub Worksheet_Change(ByVal Target As Range)
i = Target.Row '设当前单元格所在行号是i
j = Target.Column '设当前单元格所有列号是j
If i = 1 And j = 1 Then Exit Sub '如果所在行号和列号是1,即A1时,则退出本程序,否则运行下面程序
Range("A1").Select
Selection.NumberFormatLocal = "yyyy-m-d" '把A1设为日期格式
Range("A1") = Range("A1") + 1 'A1的值加1
Cells(i, j).Select'返回当前单元格
End Sub
第2个回答  2015-06-19
假如A1单元格是标准日期格式,要在B1单元格生成A1单元格的日期自动加1的新日期,你可以在B1单元格输入 =A1+1

因为日期在EXCEL中是以序列值的形式存储的,所以,标准的日期格式都可以进行四则运算后得到一个新的日期。
第3个回答  2009-10-25
首先把A1的格式设为yyyy-mm-dd
然后在worksheet的change事件中加入如下代码
If Target.Row <> 1 Or Target.Column <> 1 Then
Range("A1") = Range("A1")+ 1
End If本回答被提问者采纳
相似回答