|
楼主 |
发表于 2010-5-12 11:22
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
回复 2楼 cflood 的帖子
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------一、 启动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”。是不是很方便?
就是这段代码,可我在2007中找不到“插入”——“命名”——“定义” |
|