在 Excel 2010 中导入文本 - 覆盖以前的导入

在 Excel 2010 中导入文本 - 覆盖以前的导入

我使用录制器创建了一个宏,使用特定的快捷键在打开的 excel 文件的特定区域中将特定的 .txt 文件添加到我的 Excel 文件中。但是,我遇到了这个问题:当我再次使用宏时,新数据不会覆盖同一区域中先前导入的数据,而是会根据需要进行移动,以保持先前的数据不变。

有什么方法可以改变这种情况吗?是通过选项还是通过更改宏代码?具体来说,我希望宏检查要写入的单元格中是否已经有数据,并在导入文件数据之前清除其内容。

目前为止的代码(重新编码宏的结果:)

Sub testimport()
'
' testimport Macro
'

'
With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;C:\Users\egw\Desktop\ÍÝïò öÜêåëïò\Book2.txt", Destination:=Range( _
    "M14"))
    .Name = "Book2"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 737
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With
End Sub

答案1

将 更改为.RefreshStyle = xlInsertDeleteCells.RefreshStyle = xlOverwriteCells它将用文件中的数据替换单元格。这将强制刷新以替换表中的数据,使其与文件中的文本保持同步。

相关内容