[英]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.