Excel精英培训网

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

[已解决]如何判断和计算时间

[复制链接]
发表于 2010-5-20 22:08 | 显示全部楼层 |阅读模式

如何判断和计算时间

Sub ww() 'B列的功能看样实现?

For i = 1 To Range("a65536").End(xlUp).Row
Cells(i, "c") = Cells(i, "a") + TimeSerial(0, 30, 0)
Cells(i, "d") = Cells(i, "a") & "~" & Cells(i, "a") + TimeSerial(0, 40, 0)
Next i
End Sub

3mheR6pn.rar (5.27 KB, 下载次数: 1)

如何判断和计算时间

如何判断和计算时间
发表于 2010-5-20 22:12 | 显示全部楼层
回复

使用道具 举报

发表于 2010-5-20 22:16 | 显示全部楼层
回复

使用道具 举报

发表于 2010-5-20 22:22 | 显示全部楼层

2010-5-17 7:33

应该为30-3=27 

27+33=60,50怎解?

回复

使用道具 举报

 楼主| 发表于 2010-5-20 22:26 | 显示全部楼层

QUOTE:
以下是引用枯禅在2010-5-20 22:22:00的发言:
2010-5-17 7:33

应该为30-3=27 

27+33=60,50怎解?

<5的数为20-3=17

17+33=50

回复

使用道具 举报

发表于 2010-5-20 23:15 | 显示全部楼层    本楼为最佳答案   

没明白你的换算关系,试着做了一下:

Sub ww()
Dim arr, F%, arrt
arr = Range("a1:d4")
For i = 1 To 4
    F = Minute(arr(i, 1))
    If Val(Right(F, 1)) < 5 Then
        arr(i, 1) = arr(i, 1) + TimeSerial(0, 20 - Val(Right(F, 1)), 0)
        arr(i, 3) = Format(arr(i, 3) + TimeSerial(0, 20 - Val(Right(F, 1)), 0), "hh:mm")
    Else
        arr(i, 1) = arr(i, 1) + TimeSerial(0, 30 - Right(F, 1), 0)
        arr(i, 3) = Format(arr(i, 3) + TimeSerial(0, 30 - Val(Right(F, 1)), 0), "hh:mm")
    End If
    arrt = Split(arr(i, 4), "~")
    arr(i, 4) = Format(arrt(0), "hh:mm") & "~" & Format(arrt(1), "hh:mm")
[a13].Resize(4, 4) = arr
Next
End Sub

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 03:54 , Processed in 0.750465 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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