设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4126|回复: 2
打印 上一主题 下一主题

[2007新版] [转帖]Excel快速输入时间值法

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2004-6-2 03:43:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Excel快速输入时间值法



大家都知道,在Excel 中输入时间是需要带上冒号的,如果有大量的时间值等待输入的话,这个冒号可得耽误不少功夫,而且又容易输入错误。

有什么好办法可以解决这个难题呢?当然是用嵌套在Excel里的利器VBA了!以下就是所有源代码,只要您按照我的说法一步一步做下去,即使对这些代码一点也不懂,也能依葫芦画瓢,迅速实现在Excel中不必输入冒号就能输入时间值的效果!

一、 启动Excel,打开您需要大量输入时间值的那个工作簿,然后按Alt-F11,启动VBA编辑器。

二、 选择菜单中“插入”──“添加模块”命令。这时,在屏幕左上方“工程”窗口中,会出现一个“模块”的子目录,在它的右侧,显示着刚刚添加进来的模块“Module1”,您可以将它改名为您所喜欢的名字如“fasttime”。

三、 双击模块“fasttime”(如果您修改过模块名称的话),在右侧的代码编辑器中输入以下代码(或者从我的示例工作簿中复制)。

Option Explicit

Sub Auto_Open()

Application.OnEntry = "Fast" '每当工作表内容发生变化时就运行指定过程

End Sub

Sub Fast()

On Error GoTo EnterError '如果有错误就跳往EnterTimeError语句

If Intersect(Application.Caller, Range("fasttime")) Is Nothing Then

Exit Sub '如果是非"fasttime"区域的单元格被改变,则结束过程

End If

'如果输入值小于1或者大于2400,则显示对话框用户输入值非法

If Application.Caller < 1 Or Application.Caller > 2400 Then

MsgBox "对不起,您的输入值非法!", vbExclamation

Application.Caller.Value = ""

Exit Sub

End If

'\ 将输入值改成 HH:MM格式

Application.Caller.Value = Format(Application.Caller, "00:00")

Exit Sub

EnterError:

Exit Sub

End Sub

四、把您将要大量输入时间值的单元格区域命名为“fasttime”。命名方法为,先将需要命名的单元格区域抹黑,然后选择Excel的菜单命令“插入”──“命名”──“定义”,在“在当前工作簿中的名称”栏中输入“fasttime”,最后按确定即可。

好了,完工!现在往“fasttime”区域里输入时间值试试看,是不是不用冒号了!?这里需要注意的是,输入值必须介于1到2400之间,否则将被视作非法值。举个例子来说,如果您需要输入上午九点二十分这样一个时间值,您就只需要输入0920这样一个数字就行了,Excel将在单元格中显示为“09:20 AM”;如果您需要输入晚上一十一点一十五分这样一个时间值,您就只需要输入2315这样一个数字就行了,Excel将在单元格中显示为“11:15 PM”。是不是很方便?

如果您对Excel的时间显示方式不满意的话,您还可以在“单元格格式”里进行修改,Excel内置了10种时间显示方式,调一款您喜欢的吧!

(摘自:统一教学网)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2004-6-15 19:18:00 | 只看该作者
哇看了这么多才完成,也不简单快速啊!我看只有经常用的才有必要改的,要不然不是打击自己么
3#
发表于 2004-7-2 20:54:00 | 只看该作者
HOHO~也学到不少DD了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-6 13:33 , Processed in 0.084656 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表