2014-06-12 5 views
0

워크 시트를 새로 고치는 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

.RefreshStlye 줄을 제거하십시오. 그게 당신의 빈 셀을 이동시키는 원인이 무엇인지 믿습니다 (삽입과 삭제가 필요할 때마다 행을 삭제합니다).

없이두면 속성에서 지정한 기본값 (수동 새로 고침이 사용하는 기본값)을 사용해야합니다. 그렇지 않은 경우 xlInsertEntireRows을 대신 사용해보세요.

+0

ConsecutiveDelimiter를 False로 변경해 보았습니다. 이제는 정상적으로 작동합니다! – pikachuchameleon

관련 문제