excel指定单元格内容修改后另一指定单元格里面的时间自动更新 5
指定单元格里面内容每修改一次另一指定单元格里面的时间自动变为修改时的时间.如图当I列内容发生修改时在R列显示最后修改时间,现在这个公式只能显示第一次填写时间...
指定单元格里面内容每修改一次另一指定单元格里面的时间自动变为修改时的时间.如图当I列内容发生修改时在R列显示最后修改时间,现在这个公式只能显示第一次填写时间
展开
3个回答
展开全部
这个需求如果要用公式而不是宏来实现,关键在于两点:
需要记录下I列单元格修改前的数据,这个只能放在R列本身,因为如果用其他单元格保存,在I列变化时,那个单元格也同时变化了;
需要对自身进行判断,也就是迭代计算。
2可以通过设置迭代(次数1)来设置,那么,R3的公式就是:
=IF(I3="","",IF(ISERR(FIND("|",R3)),TEXT(NOW(),"yyyy-mm-dd hh:mm:ss")&"|"&I3,IF(--MID(R3,FIND("|",R3)+1,10)=I3,R3,TEXT(NOW(),"yyyy-mm-dd hh:mm:ss")&"|"&I3)))
效果如图,附件可下载参考
展开全部
在工作簿VBA的Thisworkbook中写如下代码:
Dim x
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub '"2"指第2列输入数据
If Target.Row = 1 Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 4).Value = "" '"4"指在输入数据的单元格后第四列单元格里显示现在的时间
Exit Sub
End If
If Target.Value = x Then Exit Sub
If Target.Count > 1 Then Exit Sub
Target.Offset(0, 4) = Now
End Sub
Dim x
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub '"2"指第2列输入数据
If Target.Row = 1 Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 4).Value = "" '"4"指在输入数据的单元格后第四列单元格里显示现在的时间
Exit Sub
End If
If Target.Value = x Then Exit Sub
If Target.Count > 1 Then Exit Sub
Target.Offset(0, 4) = Now
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个只能用宏或自定义函数来实现。
更多追问追答
追问
可以具体点吗,我试了好多都不行
追答
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 9 Then Target.Offset(0, 9).Value = Now
End Sub
方法:
选定工作表》ALT+F11,粘贴这段代码,启用宏就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询