使用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"