原始数据类型为[h]:mm:ss
50:53:00
我想改成像这样的文本数据类型
50h 53m
如何在excel-vba中转换为此内容?
答案 0 :(得分:2)
你可以使用或不使用vba。
1.没有vba
2.与vba
Sub numberf()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
ws.Range("F1").NumberFormat = "[hh]""h"" mm""m"""
End Sub
答案 1 :(得分:0)
我会尝试这样的UDF:
Function ConvertToText(TimeValue As Double) As String
Hours = Int(TimeValue * 24)
Minutes = Int((TimeValue * 24 - Hours) * 60)
ConvertToText = Hours & "h " & Minutes & "m"
End Function
我将原始值放在一列中,在另一列中使用该公式,如果您不想显示原始值,则隐藏原始值。
另一种选择是给Sub一个Range,将sub链接到一个按钮,让子遍历范围内的每个单元格并进行更改。
答案 2 :(得分:0)
您也可以在下面对excel单元格进行格式化:
h\h mm \m