2014-09-30 3 views
-1

텍스트 파일이 있는데 나는 VB에서 Excel의 첫 번째 줄에 쉼표의 수를 계산하고 3이 있으면 작업을 수행합니다.하지만 잘못된 것이 있습니다. . 나는 (아래 예제에서 주석)를 대체 방법 매크로가 실패하고를 사용하면 내가 항상 작업을 수행하는 분할 방법을 사용할 때, 무슨 일이 있어도 값 나는 3쉼표를 텍스트 파일의 줄에 넣습니다.

'Load txt file into array 
    Open FilePath For Input As #1 
    dataArray = Split(Input$(LOF(1), #1), vbLf) 
    Close #1 

    'Test first line if it has three commas 
    If Len(dataArray(0).value) - Len(Replace(dataArray(0).value, ",", "")) = 3 Then 
    'If dataArray(0).Split(",").Length = 3 Then 

    'Add comma to start of strings 
     For i = LBound(dataArray) To UBound(dataArray) 

      dataArray(i) = "," & dataArray(i) 
     Next i 

답변

1

의 장소에 추가하지 .value이 문제의 원인입니다. VBA에는 .NET과 동일한 방식으로 속성이 없습니다.

교체하여 밖으로 주석 IF이와 문 :

If Len(dataArray(0)) - Len(Replace(dataArray(0), ",", "")) = 3 Then 
+0

감사합니다 - 나는 또한 .Values없이 그것을 시도 않았고 그것이 작동하지 않았다 - 나는 마침내 내가라는 이름의 하위는 "교체"한 것을 깨달았다 내 모듈 중 하나에서 - 어떻게 명확하게 엉망이 될지 모르겠다. 이름을 바꾸면 모든 것이 잘 동작했다. – user2725402

관련 문제