在几分钟内转换HH:MM:SS

时间:2016-07-10 16:15:18

标签: excel-vba vba excel

如何仅在几分钟内转换dd hh:mm输出。

即如果" dd hh:mm"是" 01 10:20"我只需要在会议纪要" 2060"。

Sub ACD()

lastrow = ActiveSheet.UsedRange.Rows.Count

Range("C1").Select

ActiveCell.FormulaR1C1 = "=IFERROR(TEXT(RC[-1]-NOW(),""dd hh:mm""),""00 00:00"")"

Selection.AutoFill Destination:=Range("C1:c" & lastrow)

For b = 1 To lastrow

    b = DateDiff("n", Now(), Range("B" & b).Value)

Next

End Sub

1 个答案:

答案 0 :(得分:0)

正如有人提到的,你并不真的需要VBA,但是像

那样
Sub ACD()      
    With ActiveSheet.UsedRange.Range("C:C")
        .FormulaR1C1 = "=IFERROR( ( RC[-1] - NOW() ) * 24 * 60 , 0 )"
        .NumberFormat = "0"
    End With
End Sub

Excel中的日期存储为天数,因此B列中的日期与当前日期时间之间的差异将为您提供像1.43055555556这样的天数。如果您将其乘以一天中的小时数和一小时内的分钟数(24 * 60 = 1440),您将获得类似2060.1234的内容。 .NumberFormat = "0"用于将差异显示为整数2060。如果您只想要没有秒数的分钟数,则可以使用INTROUND函数:=IFERROR( INT( ( RC[-1] - NOW() ) * 24 * 60 ) , 0 )