Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3725|回复: 4

[已解决]文字格式的时间转化为数字格式报错

[复制链接]
发表于 2013-2-12 14:29 | 显示全部楼层 |阅读模式
我做了一个自定义函数,函数代码如下:
'################################################################
'36.函数作用:文字格式的时间(分:秒)转化为数字格式(秒)
'################################################################
Function TxtSecondToNumber(strTxt As String)
    '' The format of strTxt is mm:ss.??
    Dim iFirst As Integer
    strTxt = Trim(strTxt)
    iFirst = InStr(1, strTxt, ":")
    If iFirst > 0 Then
        TxtSecondToNumber = Val(Left(strTxt, iFirst - 1)) * 60 + _
                            Val(Mid(strTxt, iFirst + 1))
    Else
        TxtSecondToNumber = Val(strTxt)
    End If
End Function
我在“示例”工作表中A1单元格输入“txtsecondtonumber("1:55")后单元格A1显示115,这是正确的,因为1分55秒本来就等于115秒,但是我在A2单元格输入”1:55“,在B2单元格输入"txtsecondtonumber(A2)"后却显示0.079861111,为什么不显示115呢,为此我把A2单元格设置成了时间显示格式,结果还是这样,这是为什么呢,请高手指点,先谢谢了。
最佳答案
2013-2-12 18:16
mqr66 发表于 2013-2-12 15:40
2楼的老师,您非常的细心,这是我在上文描述时输写错误 ,但在源工作表中我输入的都是小写,结果却是不一样 ...

如果直接在单元格输入  1:55 系统就认为这是个时间,是1小时55分,折算成天数就是0.0798611111111111,这样用自定义函数处理,还会是这个数值,所以,你要不在输入之前把单元格的格式定义为文本,要不输入 '1:55 这样就强制成文本(前面加一个单引号),如果这样的数据已经输入很多了,那么就通过函数 =text(a2,"m:s")来转换。

36、自定义函数:文字格式的时间(分:秒)转化为数字格式(秒).rar

6.85 KB, 下载次数: 7

发表于 2013-2-12 15:08 | 显示全部楼层
两个文本的区别在于一个是全角的冒号,一个是半角的冒号,建议都用半角的,如果有全角的情况,那就把
strTxt = Trim(strTxt)这句代码换成
strTxt = StrConv(Trim(strTxt), vbNarrow)
这样就完成了全角和半角的转换。
回复

使用道具 举报

 楼主| 发表于 2013-2-12 15:40 | 显示全部楼层
2楼的老师,您非常的细心,这是我在上文描述时输写错误 ,但在源工作表中我输入的都是小写,结果却是不一样的哟。我觉得不是这个大小写的问题,麻烦您看一下我上传的表格,好吗?
回复

使用道具 举报

发表于 2013-2-12 18:16 | 显示全部楼层    本楼为最佳答案   
mqr66 发表于 2013-2-12 15:40
2楼的老师,您非常的细心,这是我在上文描述时输写错误 ,但在源工作表中我输入的都是小写,结果却是不一样 ...

如果直接在单元格输入  1:55 系统就认为这是个时间,是1小时55分,折算成天数就是0.0798611111111111,这样用自定义函数处理,还会是这个数值,所以,你要不在输入之前把单元格的格式定义为文本,要不输入 '1:55 这样就强制成文本(前面加一个单引号),如果这样的数据已经输入很多了,那么就通过函数 =text(a2,"m:s")来转换。
回复

使用道具 举报

 楼主| 发表于 2013-2-15 17:15 | 显示全部楼层
谢谢cbg2008 老师的耐心 解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-22 09:07 , Processed in 0.280879 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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