通过Excel的VBA工具日期时间随数据自动更新

les_holroyd 2011-03-17 11:18:21
 输入时间日期是Excel数据处理过程中经常做的工作之一,大家一般是直接输入或者使用函数,输入的数据往往是固定不变或者随系统时间而更新。如果在更新数据时需要时间日期也随着更新,而且数据固定不变,这就有点难了!其实通过Excel的VBA工具,就可以非常轻松地解决这一问题。
  比如在一张销售统计报表中,A:A区域中用来存储销售时间日期,而在B:G区域用来存储销售数据,如果需要在更新B:G中的销售数据时,让A:A区域中的时间日期自动更新,具体操作如下:执行“工具→宏→Visual Basic编辑器”菜单命令,在弹出的Microsoft Visual Basic窗口中,双击需要输入代码的工作表,如“sheet1”,然后在其右侧的代码编辑窗口中输入如下代码(图1):
  Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Row >= 3 And Target.Row <= 100 And _
  Target.Column >= 2 And Target.Column <= 10 Then
  Application.EnableEvents = False
  Cells(Target.Row, 1) = Now()
  Application.EnableEvents = True
  End If
  End Sub




  最后单击“保存”按钮即可。此代码的作用是,当工作表中的B3:J100数据变化时,在同行的第一个单元格中自动输入当前系统时间,即A:A列中,而且固定不变。
  这样,当在销售统计报表的数据区域内输入新数据时,在第一列的时间日期单元格内会自动输入当前日期时间,如:2009-8-16 10:39:16,并且固定不变,如果再次修改数据,其时间也会随着数据的改变而自动更新(图2)。  



  小提示:为了显示更精确的数据更新时间,可以使用2009-8-16 10:39:16样式的日期时间格式。使用此种格式时,选择时间日期所在的A:A列,执行“格式→单元格”命令,在弹出的单元格格式对话框中,从“数字”选项卡中的“分类”列表中选择“自定义”信息,然后从右侧的“类型”列表框中选择“yyyy-m-d h:mm”格式即可(图3)。  


...全文
1038 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjwtufv 2011-03-22
  • 打赏
  • 举报
回复
谢谢,很久时间就想试着搞这个,没头绪
laoyebin 2011-03-18
  • 打赏
  • 举报
回复
宏并不是每个人都适合,很多人看到打开文件时弹出的那个安全提示,大部分都会禁用掉宏

我更喜欢用快捷键插入

6,210

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧