2016-09-12 8 views
0

1つのブックで別のブックを開くと、この新しく開いたブックのF列をテキストから日付に変更して変更を保存して閉じるマクロを作成しようとしています。今開いたワークブック。コードで、私はエラーメッセージ 'ランタイムエラー' 1004 ':RangeToのTextToColumnsメソッドが失敗しました'というメッセージが表示され続けようとしています。あなたは何が間違っているのか、それをどのように修正できるのかを知っていますかExcel VBAでテキストを発行する

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 

答えて

1

Destination:=Range("F1")を完全に修飾する必要があります。そうでない場合はにRange("F1")となります。これはRange("F1")xlWSであるため、間違っている可能性があります。

ので

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 
+0

素晴らしいもの、おかげで – kit

関連する問題