我使用录制器创建了一个宏,使用特定的快捷键在打开的 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
它将用文件中的数据替换单元格。这将强制刷新以替换表中的数据,使其与文件中的文本保持同步。