刷新时忽略空单元格

时间:2014-06-12 14:45:17

标签: excel vba excel-vba

我有一个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

1 个答案:

答案 0 :(得分:0)

删除.RefreshStlye行。我相信这是导致它移动空单元格的原因(因为它插入并删除了需要的行)。

如果不保留,则应使用属性中指定的默认值,即手动刷新使用的默认值。如果没有,请尝试使用xlInsertEntireRows