使用VBA for Excel将hh:mm:ss转换为文本
我有一个格式为hh:mm:ss
的单元格,还有一个yyyy-mm-dd
添加。 他们看起来像这样:
1970-01-01 00:01:25
我希望它看起来像这样在文本中格式化:
00:01:25
如果我手动使用文本到列来删除yyyy-mm-dd,只导入00:01:25
部分作为文本,它工作正常。
但是如果我创build一个macros来做同样的事情,我最终会得到:
:01:25 AM
我的macros看起来像这样:
Columns("D:D").Select Selection.TextToColumns Destination:=Range("D1"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 9), Array(12, 2)), TrailingMinusNumbers:=True
谢谢大家,我已经通过使用下面的代码来工作了(我从另一个板子得到了帮助:
Sub m() With Range("D2:D" & Range("D" & Rows.Count).End(xlUp).Row) .NumberFormat = "@" .Cells = Evaluate("=INDEX(TEXT(" & .Address & ",""HH:MM:SS""),0)") End With End Sub
它可以使用excel公式Text(text;format)
查看图片和公式栏。
或者,您可以将自定义文本格式应用到原始列。
或者你需要在VBA中做到这一点?
编辑。 使用VBA解决scheme
Range("D:D").NumberFormat = "hh:mm:ss"