Я пытался конвертировать текстовые файлы в Excel, используя VBA, и нашел этот код в этой сети.Вот как выглядит мой текст:
ABC | 123 | DEF
ZZZ | 233 | YTU
Sub LoopAllFiles()
Dim sPath As String, sDir As String
sPath = "C:\work\"
If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
sDir = Dir$(sPath & "*.txt", vbNormal)
Do Until Len(sDir) = 0
Workbooks.Open (sPath & sDir)
With ActiveWorkbook
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="|", FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
.SaveAs Filename:=Left(.FullName, InStrRev(.FullName, ".")) & "xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
.Close
End With
sDir = Dir$
Loop
End Sub
После использования кода экспортированный Excel выглядит следующим образом:
ABC 123 DEF (3 отдельные ячейки)
ZZZ | 233 | YTU (1 отдельная ячейка)
У всех есть идеи, почему код преобразует только первую строку и останавливаетсяпотом?
Большое спасибо.