文本到列

时间:2015-11-25 18:25:23

标签: excel vba excel-vba formatting

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

 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

我尝试将Refresh和Text to Columns分成两个独立的Subs,然后再调用它们,但它没有用。

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

0 个答案:

没有答案