2014-02-18 2 views
0

Excel VBA Text To Columns에 문제가 있습니다. 분명히 함수는 새로운 시트에 있어야 할 때 동일한 시트에 대상을 놓을 때 고정됩니다.텍스트 To 열 VBA 새 시트에 대상

Worksheets("RawData").Columns(ID).TextToColumns Destination:=Worksheets("Regular").Columns("C"), DataType:=xlDelimited, _ 
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ 
    Semicolon:=False, Comma:=True, Space:=False, Other:=True, _ 
    OtherChar:="(", _ 
    FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True 

명백하게 이것은 "규칙적인"워크 시트가 아니라 원하는대로 원시 데이터의 C 열에 덤프됩니다.

+2

이유는 바로 '워크 시트 ("일반")에 데이터를 복사하지 다음 열 ("C")'와'TextToColumns'을? –

+0

그게 나에게 일어 났지만 내가하고있는 원본 시트의 내용에 영향을 미치지 않는 더 좋은 방법이 있는지 궁금해하고 있었다. – user3325355

+1

알다시피, 'Worksheets ("RawData")의 내용에는 영향을 미치지 않습니다. (결과는 코드가 작동하는 것과 같습니다.) btw, 다른 시트의 대상이있는 열에 텍스트를 만들 수 없습니다. –

답변

0

또 다른 접근법은 문자열 조작을 직접 사용하는 것입니다. 당신이 대장에 열 명령에 텍스트로 구분되고 싶어요 가정 :.

dim i as integer 
dim j as integer 
dim strTemp as string 
dim arrString() as string 

for i = 1 to 'number of rows in your first sheet 
    strTemp = cells(i, 1) 
    arrStrings = strings.split(strTemp, ",") 
    for j = 1 to ubound(arrStrings) 
     sheet2.cells(i, j) = arrStrings(j) 
    next j 
next i 
관련 문제