VBA中Text To Columns无法完全应用24小时时间格式问题求助
VBA文本分列后无法将时间转换为24小时制
我编写了以下VBA代码段,但无法将A列中的时间部分转换为24小时制。原始数据格式为dd/mm/yyyy hh:mm:ss,正午之后的时间(如14:12)会显示为12小时制的02:12。
(以下代码中删除行和列的操作与Text To Columns无关,但包含在代码段内)
With ActiveSheet .Rows("1:5").Delete Shift:=xlUp .Range("F:F,N:N,O:O,P:P,S:S,U:U,V:V").Delete Shift:=xlToLeft .Columns("A").NumberFormat = "m/d/yyyy" .Columns("B").Insert Shift:=xlToRight .Columns("B").NumberFormat = "HH:mm:ss" .Columns("A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 9)), TrailingMinusNumbers:=True End With
我设置了第三个数组段以避免在第三列显示AM/PM。
编辑1:上述代码已采纳@PeterT的建议,将新插入的B列格式设置为HH:mm:ss,但13:00:00至23:59:59之间的时间仍被转换为01:00:00至11:59:59。
编辑2:附上示例:
- 工作簿初始状态:

- 文本分列处理后的时间格式问题(应显示13:17:52却显示为01:17:52):

此前我在其他代码问题上得到过有用建议,希望此次也能获得帮助。我已搜索类似问题但未找到解决方案。
内容的提问来源于stack exchange,提问作者MikeE
相关产品推荐
相关产品推荐

