天小时分钟d hh:mm:ss
我需要转换:
- 12天2小时43分钟
- 3小时18分钟
- 1天1分钟
成:
hh:mm
有没有办法只为所有案件使用一个简单的公式? 谢谢!
干杯!
Medicloreans
考虑以下用户自定义function(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)非常易于安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除UDF:
- 如上所示调出VBE窗口
- 清除代码
- closuresVBE窗口
从Excel中使用UDF:
= myfunction的(A1)
要了解有关macros的更多信息,请参阅:
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
macros必须启用这个工作!