我需要转换:
分为:
hh:mm
有没有办法只为所有情况使用一个简单的公式?谢谢!
干杯!
Medicloreans
答案 0 :(得分:2)
考虑以下 U ser D 已定义 F unction (UDF):
Public Function NewTime(SIn As String) As String
Dim nMinutes As Long, nHours As Long, V As Long
Dim Tag As String
ary = Split(SIn, " ")
For i = 0 To UBound(ary) - 1 Step 2
V = ary(i)
Tag = Replace(ary(i + 1), "s", "")
If Tag = "Day" Then nHours = nHours + 24 * V
If Tag = "Hour" Then nHours = nHours + V
If Tag = "Minute" Then nMinutes = nMinutes + V
Next i
NewTime = nHours & ":" & nMinutes
End Function
用户定义函数(UDF)非常易于安装和使用:
如果保存工作簿,UDF将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx
删除UDF:
从Excel使用UDF:
= myfunction的(A1)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关UDF的详细信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能使其生效!