天小时分钟d hh:mm:ss

时间:2015-12-04 13:55:56

标签: excel time duration

我需要转换:

  • 12天2小时43分钟
  • 3小时18分钟
  • 1天1分钟

分为:

hh:mm

有没有办法只为所有情况使用一个简单的公式?谢谢!

干杯!

Medicloreans

1 个答案:

答案 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

enter image description here

用户定义函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开了一个新模块
  3. 粘贴内容并关闭VBE窗口
  4. 如果保存工作簿,UDF将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除UDF:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 从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

      必须启用宏才能使其生效!