VBA宏 - 从日期和时间excel单元提取时间 - VBA
问题描述:
我必须包含数据的格式为mm/dd/yyyy hh:mm
的B和C列,会议。VBA宏 - 从日期和时间excel单元提取时间 - VBA
我试图创建一个VBA宏,它可以从两列中仅提取格式为hh:mm
的时间,然后计算两个时间点之间的差异,以便找出每个会议的持续时间(结果将显示在D栏中)。
你能告诉我们这里可以做些什么吗?
答
在列d使用式
=(C:C-B:B)*24
得到以小时的差异。
或者,而不是仅仅用下面的公式在列d
=C:C-B:B
和格式列d随着时间得到的格式的区别就像hh:mm
您可以添加此公式到VBA所需的范围,如果需要的话,如
With Worksheets("MySheet").Range("D1:D5").Formula = "=(C:C-B:B)*24"
或时间格式类似于
With Worksheets("MySheet").Range("D1:D5")
.Formula = "=C:C-B:B"
.NumberFormat = "hh:mm"
End With
答
随着19/06/2017 13:30:00
在A1
和20/06/2017 13:39:00
在A2
。
给出定制数字格式[h]:mm:ss
的公式=A2-A1
返回24:09:00
。 h
附近的方括号告诉Excel显示超过24小时的时间。
如果没有方括号,它会显示时间00:09:00
。这是因为它计算为1天9分钟,但没有显示天数。
为了获得日期的时间,您可以将时间格式化为保持日期/时间飞镖部分的时间,但只显示时间。
或者,您可以删除日期/时间的整数以获得时间 - 在这种情况下日期部分将显示为00/01/1900。 =A1-INT(A1)
如果B/C是日期时间只是通过它们两个,因为它们是作为参数datediff() –
日期部分总是相同的每对? –
这不需要宏,可以用公式计算 – avb