将数据类型更改为excel vba中的文本

时间:2016-06-30 06:01:08

标签: excel vba excel-vba

原始数据类型为[h]:mm:ss

50:53:00

我想改成像这样的文本数据类型

50h 53m

如何在excel-vba中转换为此内容?

3 个答案:

答案 0 :(得分:2)

你可以使用或不使用vb​​a。

1.没有vba

  • 将单元格格式设置为自定义:[hh]" h"毫米" M"

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