注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蓝天堂

Venchia's Blog

 
 
 

日志

 
 

【原创】对“Excel快速输入时间值法”的修改  

2006-03-07 18:46:33|  分类: 天堂武馆 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

网上流传的“Excel快速输入时间值法”其实是有缺陷的,那只是判断了1到2400的数值,凭这个对时间的限定,明显是有问题的,所以就稍微修改了一下

Option Explicit
Sub Auto_Open()
Application.OnEntry = "Fast" '每当工作表内容发生变化时就运行指定过程
End Sub
Sub Fast()
On Error GoTo EnterError '如果有错误就跳往EnterTimeError语句
If Intersect(Application.Caller, Range("time")) Is Nothing Then
Exit Sub '如果是非"time"区域的单元格被改变,则结束过程
End If
'如果输入值小于1或者大于2359且后两位数大于59,则显示对话框用户输入值非法
If Application.Caller < 1 Or Application.Caller > 2359 Or Val(Right(Application.Caller.Value, 2)) > 59 Then
MsgBox "Venchia友情提示:对不起,您的输入值非法!", 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

======================================

这里再附上一篇流传的文章

  大家都知道,在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种时间显示方式,调一款您喜欢的吧!
  评论这张
 
阅读(921)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016