在excel vba中将数据types更改为文本
原始数据types是[h]:mm:ss
50:53:00
我想要像这样改变为文本数据types
50h 53m
如何在excel-vba中转换成这个?
你可以做或不做vba。
1.没有vba
- 将单元格格式设置为自定义:[hh]“h”mm“m”
2.用vba
Sub numberf() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets(1) ws.Range("F1").NumberFormat = "[hh]""h"" mm""m""" End Sub
你也可以在下面的excel单元格中进行格式化:
h\h mm \m
我会尝试这样的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
我将原始值放在一列中,在另一列中使用公式,如果不想显示原始值,则隐藏原始值。
另一个select是将一个范围赋予一个Sub,将该子链接到一个button上,并使该子范围遍历该范围中的每个单元格并进行更改。