大家都知道,在Excel 中输入时间是需要带上冒号的,如果有大量的时间值需要输入的话,这个冒号可得耽误不少功夫,而且又容易输入错误。有什么好办法可以解决这个难题呢?当然是用嵌套在Excel里的利器VBA了!
一、 启动Excel,打开您需要大量输入时间值的那个工作簿,然后按Alt+F11,启动VBA编辑器。
二、 选择菜单中[插入]→[添加模块]命令。这时,在屏幕左上方“工程”窗口中,会出现一个“模块”的子目录,在它的右侧,显示着刚刚添加进来的模块“Module1”。
三、 双击该模块,在右侧的代码编辑器中输入以下代码:
Option Explicit
Sub Auto_Open()
Application.OnEntry = ″Fast″ ′每当工作表内容发生变化时就运行指定过程
End Sub
Sub Fast()
On Error GoTo EnterError ′如果有错误就跳往EnterError语句
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之间,否则将被视作非法值。举个例子来说,如果需要输入晚上11点15分,您就只要输入2315这样一个数字就行了。
|