VBA自动生成时间自动计算合计价格.rar
遇到一个问题是这样的:有个做采购的同事,他来找到我,让我给他设计一个execl表格,能完成它日常采购东西的流水账,要求是能够自动输入当天日期和时间。 然后我开始分析这个问题,用=now()这个函数能够做到自动获得当前日期和时间,但是问题在于怎么触发它,于是我有想到if语句。然后我制作一张简单的样表,A2设置为输入序号,B2里放日期和时间,当A2输入内容后,B2自动输入当前日期和时间。那么B2列里设置函数=IF(A2="","",NOW()) 开始以为就这么简单,但是发现这个表格如果重新打开后,所以B列都会变为最新的日期,而且当A2被重新编辑后,B2就会变更日期为最新日期,这样完全实现不了采购同事的需求。于是我查阅了资料,找到了Target更新事件和Offset获得焦点,让他们配合起来达到目的,经过不懈的努力,终于让我把代码写成功了,初步达到了采购同事的要求。特此把代码写在下面。供大家参考(以下代码最好配合实际案例的execl表的环境进行阅读,这样事半功倍,execl表,我把它挂载到一个下载链接吧): Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 And Target.Column <> 5 Or Target.Count > 1 Then Exit Sub On Error Resume Next With Target If .Column = 1 And .Offset(0, 1).Value = "" Then '判断该单元格是否已经写入时间 .Offset(0, 1) = Now() End If If .Column = 5 Then '计算合计价格 .Offset(0, 1) = .Offset(0, 0) * .Offset(0, -1) End If End With End Sub
- 1
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助