原创作者: 卢子 转自:Excel不加班
当城市和金额都输入好内容以后,希望能够自动录入当前日期和时间。同时,还得满足录入以后,不会再改变。
当城市和金额都输入好内容以后,希望能够自动录入当前日期和时间。同时,还得满足录入以后,不会再改变。
不过,这个公式是会不停改变的,除非将公式粘贴成值。
还有一种也是半自动,就是需要自己判断是否已经都输入内容,不过可以快速输入当前日期和时间,输入后不会改变,非常方便。
在空白单元格,比如F2输入公式。
=NOW()
选择C列的区域,点数据,数据验证,序列,来源选择F2,确定。
设置完,日期和时间可能不是理想的格式,最好再按Ctrl+1,自定义单元格格式为yyyy/m/d h:mm:ss。
这种方法最适合普通人。
还有一种就是借助VBA自定义函数。
按快捷键Alt+F11进入VBA后台,插入模板,输入下面的代码。
Function NowTime(Rng As Range)
If Application.CountA(Rng) = 2 Then
NowTime = Format(Now, "yyyy/m/d h:mm:ss")
Else
NowTime = ""
End If
End Function
你有没发现,其实VBA里面的函数,除了Format函数名称不同,这个是设置单元格格式用的,类似于TEXT函数,其他函数的名称几乎一样。
现在就可以直接调用自定义的函数。
=NowTime(A2:B2)
当输入公式后,再录入金额,自定义函数可以自动录入日期和时间,原来的不会改变。VBA比其他两种方法更智能,不过难度也更大。
并不是任何东西都需要自定义函数的,比如求和、查找,内置函数都有这个功能,你自定义一个函数毫无意义。不是你该干的活,就不要跟别人抢。只有当内置函数实在很难完成的时候再考虑自定义函数,不能滥用!