`
阅: 4941 | 回: 10
发表于2015/9/2 10:11:39 楼主 
头像 等级:初学者
积分:3
财富值:2.0
身份:普通用户
在excel里我先在某一个单元格里输入函数,让其显示当日期的年月日,但是这个年月日是一次性了,比如今天是2015年8月31日,我要求某单元格里显示2015年8月31日(用函数做),明天或者后天或者几年后都只显示2015年8月31日。就是提取电脑时间只有一次,并且以后不在变动。求解函数
我的个性签名
发表于 2015/9/2 10:26:51   
头像 等级:学有小成
积分:31
财富值:38
身份:普通用户

函数实现不了你这个功能!

函数是有易失性的,也就是说,当你表格重新计算的时候函数也会重新计算。所以你这个必须要函数来做是做不了的!

我的个性签名
发表于 2015/9/2 10:33:15   
头像 等级:学有小成
积分:31
财富值:38
身份:普通用户
这个应该是你想要的效果,但是不是函数做的,是用VBA来实现的。
我的个性签名
发表于 2015/9/2 10:35:21   
头像 等级:初学者
积分:3
财富值:2
身份:普通用户

回复:2楼


可能我没说好,应该是这样的,我对一个单元格进行操作,那么另外一个单元格马上体现我操作的那个时间点。
我的个性签名
发表于 2015/9/2 10:39:08   
头像 等级:学有小成
积分:31
财富值:38
身份:普通用户

回复:4楼


我知道,一样的道理。函数取出来的时间肯定是会跟着你的表格计算变的。
我的个性签名
发表于 2015/9/2 10:40:31   
头像 等级:初学者
积分:3
财富值:2
身份:普通用户

回复:5楼


是的,能否弄个文档给我,我好回去学学看
我的个性签名
发表于 2015/9/2 10:55:06   
头像 等级:学有小成
积分:31
财富值:38
身份:普通用户

回复:6楼


这个是用VBA实现的,在Worksheet_Change事件里面


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Then Exit Sub '判断是否是在第一列(A列)单元格内容有变化,如果不是则退出
    Target.Offset(0, 1).Value2 = Format(Now, "yyyy-mm-dd hh:mm:ss") '在变化的单元格右面一列写出变化时间
End Sub
附件:   下载    在线编辑
我的个性签名
发表于 2015/9/2 11:46:18   
头像 等级:初学者
积分:3
财富值:2
身份:普通用户
谢谢
我的个性签名
发表于 2019/10/21 15:33:05   
头像 等级:初学者
积分:1
财富值:2
身份:普通用户
Ctrl+;
我的个性签名
发表于 2019/10/22 8:31:59   
头像 等级:初学者
积分:2
财富值:2
身份:普通用户
ctrl+;   同意。
我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。