vba中将数字数据转为数字格式_通过VBA将文本格式的时间转换为数字格式

后台系统导出来的工单历时数据,是文本格式的,如"1天18时12分28秒",要统计工单平均历时,只能整成数值格式的了。

方法:将文本格式里面的数字抽取出来,再组合成excel能理解的数值。

excel里面是怎么表示1天18时12分28秒这个时间的呢,在excel里面:1天的时间就用1表示,那么1小时、1分钟、1秒就可以通过以下方式计算:

3d30be8ff0a8f14245c4a6eab1e0b63d.png

于是1天18时12分28秒就等于1*1+18*1/24+12*1/1440+28*1/86400≈1.75865740740741.

我们把步骤分解一下:

1)从文本格式里面,把数字取出来,分为天、时、分、秒,如果没有则设置为0

2)按照计算式将对应的数值计算出来

3)采用自定义公式的方式将其在vba里面实现

上面的1)、2)两步用VBA实现出来如下:

Function shijian(str As String) As Double

Dim tian, shi, fen, miao As Double

tian = 0

shi = 0

fen = 0

miao = 0

If InStrRev(str, "天") <> 0 Then

temp = InStrRev

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值