100分求解,TXT批量导入到Excel并且自动保存为xls文件问题

时间:2022-06-01 12:26:54
有一些TXT文件批量导入Excel中,并且保存成txt文件名为形式的xls文件,
因为txt文件中用空格做分隔符,但有的列内容本身就是空格,所以用的是固定宽度分隔,从第二行开始插入数据:

执行下面一段宏,保存出来的文件会包含上一个文件的内容(没有清楚单元格内容,然后另存为),如何能做到保存出来的文件正确,并且是从A2开始插入数据呢
最好是能做成一个单独的文件出来,只需要执行这个文件就好了,如果可以做到,增加问题点数
----------------
Sub Macro1()

Dim file As String

file = Dir(ThisWorkbook.Path & "\*.UN.*")
While file <> ""

 Range("a1").Value = "Asset Id"
    
    Range("A1").value("***")
    ...

    Range("A2").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & ThisWorkbook.Path & "\" & file, Destination:=Range("A2"))
        .Name = "aa"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = -535
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(20, 3, 2, 10, 9, 7, 8, 10, 7)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    ActiveWorkbook.SaveAs filename:=ThisWorkbook.Path & "\" & file & ".xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    file = Dir()
Wend
End Sub

6 个解决方案

#1


我的理解能力太差... ...

#2


TXT导入我做过很多,各种类型的都做过。你有附件吗?

#3


1楼的高手,都没办法啊。呵呵。
用录制宏的方法自己摸索一下。

#4


还有要确定你的txt里面的内容格式要统一。
不统一。就没办法了。
按你说的,你可以把txt文件扩展名改为:csv。然后用excel打开csv文件。看是不是你要的。

#5




应该不难啊。 录一段宏,然后修改一下。

推荐你看一下这些帮助

EXCEL 2003 Help 下载
VBA参考 下载
EXCEL VBA 参考下载


或者你到QQ群46057031,找我也行。 晚上在线。.
    [align=center] = = = =     = = = =
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
 

#6


自己解决了

#1


我的理解能力太差... ...

#2


TXT导入我做过很多,各种类型的都做过。你有附件吗?

#3


1楼的高手,都没办法啊。呵呵。
用录制宏的方法自己摸索一下。

#4


还有要确定你的txt里面的内容格式要统一。
不统一。就没办法了。
按你说的,你可以把txt文件扩展名改为:csv。然后用excel打开csv文件。看是不是你要的。

#5




应该不难啊。 录一段宏,然后修改一下。

推荐你看一下这些帮助

EXCEL 2003 Help 下载
VBA参考 下载
EXCEL VBA 参考下载


或者你到QQ群46057031,找我也行。 晚上在线。.
    [align=center] = = = =     = = = =
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
 

#6


自己解决了