簡體   English   中英

Excel VBA中的“文本到列”問題

[英]Text to Columns issue in excel VBA

我正在嘗試創建一個宏,當在一個工作簿中運行該宏時,它將在后台打開另一個工作簿,將該新打開的工作簿的F列從文本更改為日期,保存更改,然后關閉剛剛打開的工作簿。 在代碼中,我嘗試不斷收到錯誤消息“運行時錯誤'1004':Range類的TextToColumns方法失敗”。 您知道哪里出了問題,我該如何解決?

Sub Test()

Dim xlApp As New Excel.Application
Dim xlWB As Excel.Workbook
Dim xlWS As Excel.Worksheet

xlApp.Visible = False

Set xlWB = xlApp.Workbooks.Open("directory_file_to_open")

Set xlWS = xlWB.Worksheets("worksheet_of_data")
xlWS.Unprotect

    xlWS.Columns("F:F").TextToColumns Destination:=Range("F1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 4), TrailingMinusNumbers:=True

Set xlWS = Nothing
xlApp.DisplayAlerts = False
xlWB.Close True
Set xlWB = Nothing
xlApp.Quit
Set xlApp = Nothing

End Sub

您需要完全限定Destination:=Range("F1") 如果不是,它將是ActiveSheet Range("F1") 這可能是錯誤的,因為在xlWS應為Range("F1")

所以

xlWS.Columns("F:F").TextToColumns Destination:=xlWS.Range("F1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 4), TrailingMinusNumbers:=True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM