文本到列

我的Excel文件有一个SQL连接,它运行一个存储过程并输出三列,每一列都是时间格式。 输出是“hh:mm:ss”格式,Excel不会把它作为一个时间。 我发现如果我手动使用默认设置的“文本到列”工具,Excel将“0:03:05”转换为“12:03:05 AM”。 我使用VB代码来复制文本到列,但它只是如果它是唯一的代码在一个工作。 目前,这个作品=

Sub textToColumns() Sheets("Main Data").Visible = True Sheets("Main Data").Select Sheets("Main Data").Select Columns("Z:Z").Select Selection.textToColumns Destination:=Range("Z:Z"), _ DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _ :=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, _ Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True Sheets("Main Data").Visible = False End Sub 

但是这不=

  Sub textToColumns() ActiveWorkbook.RefreshConnections Sheets("Main Data").Visible = True Sheets("Main Data").Select Sheets("Main Data").Select Columns("Z:Z").Select Selection.textToColumns Destination:=Range("Z:Z"), _ DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _ :=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, _ Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True Sheets("Main Data").Visible = False End Sub 

唯一的区别是ActiveWorkbook.RefreshConnections

我尝试将刷新和文本分割成两个独立的子,然后调用两个,但它没有工作。

值得注意的是,我没有收到任何错误信息。