2010-01-30 3 views
0

열에 일련의 숫자가있는 파일이 있습니다. 이 숫자는 가변 개수의 공백으로 구분됩니다. 첫 번째 줄을 건너 뛰고 다른 모든 줄을 가져와 줄의 각 줄을 구분하고 싶습니다. 마지막으로 각 번호를 Excel에 쓰고 싶습니다. 줄을 가져 와서 Excel에 쓸 수 있었지만 각 줄을 구분할 수는 없었습니다 (전체 줄을 한 줄로 표시).가변 개수의 공백으로 문자열 분할 VBA

가변 개수의 공백이있는 문자열을 분할하는 방법을 알고 있습니까?

여기 내 코드입니다. 당신은 VBA 기능 대신에 엑셀 워크 시트 함수 트림을 사용하는 경우

Sub Test() 

    r = 0 

    With New Scripting.FileSystemObject 
     With .OpenTextFile("C:\Users\User\Desktop\File.tab", ForReading) 
      If Not .AtEndOfStream Then .SkipLine 
      Do Until .AtEndOfStream 
       ActiveCell.Offset(r, 0) = Split(.ReadLine, vbCrLf) 
       r = r + 1 
      Loop 
     End With 
    End With 
End Sub 

답변

3

후 세포 내에서 여러 공백을 제거합니다 엑셀 (단지 양쪽 끝에서). 아래와 같은 것이 문제를 해결해야합니다. Excel의 복사본이 없기 때문에 테스트하지 않은 것 같습니다.


Sub Test() 

Dim splitValues As Variant 
Dim i As Long 

r = 0 

With New Scripting.FileSystemObject 
    With .OpenTextFile("C:\Users\User\Desktop\File.tab", ForReading) 
     If Not .AtEndOfStream Then .SkipLine 
     Do Until .AtEndOfStream 
      ActiveCell.Offset(r, 0) = Split(.ReadLine, vbCrLf) 
     Application.Trim(ActiveCell.Offset(r, 0)) 
     splitValues = Split(ActiveCell.Offset(r, 0), " ") 

     For i = 0 To UBound(x) 
      ActiveCell.Offset(r, i+1) = splitValues(i) 
     Next 
     Loop 
    r = r + 1 
    End With 
End With 
+0

감사합니다. 스티브! 그것은 효과가 있었다. – GVBA

관련 문제