我有一个excel宏来刷新工作表。
但是,如果正在刷新工作表的文件(.csv格式)具有空单元格,则会将数据从其他列移位并将数据放在错误的列中。
但是,如果我手动刷新工作表,它工作正常。我不知道如何解决这个问题。
我只想要包含空单元格的整个.csv文件显示在工作表中。
任何建议都会有很大帮助。
以下是宏代码。
With ThisWorkbook.Worksheets("Raw Data").Range("a1")
.TextToColumns DataType:=xlDelimited,_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True,Tab:=False,Semicolon:=False,Space:=False, Comma:=True,Other:=False
With Worksheets("RawData1").QueryTables(1)
.TextFilePromptOnRefresh = False
.RefreshStyle = xlinsertdelete
.Connection = Application.Substitute(.Connection, CurrPath, NewPath)
.Refresh
End With
// We can assume that we have CurrPath and NewPath properly
答案 0 :(得分:0)
删除.RefreshStlye
行。我相信这是导致它移动空单元格的原因(因为它插入并删除了需要的行)。
如果不保留,则应使用属性中指定的默认值,即手动刷新使用的默认值。如果没有,请尝试使用xlInsertEntireRows
。