2011-12-05 2 views
1

This question은 내가 생각했던 것보다 더 흥미로웠다. 나는 나의 목적을 위해 직접적인 문제를 해결했다.TextToColumns에서 몇 개의 열을 만들었습니까?

하지만 지금은 대답이 간단해야하지만 질문을 찾을 수 없습니다.

TextToColumns가 작업을 완료 한 후 개의 열을 어떻게 만들 수 있습니까? 결과에있는 열의 수가 가변적이므로 분할이 끝나면 공백이 있음을 보장하지 않습니다.

TextToColumns 함수가 생성 한 열 수를 반환했지만 작동하지 않는 것이 좋을 것입니다.

나는 쪼개기 전에 쉼표를 셉니다. 따옴표 안에 쉼표가있는 상황이 있습니다. 예를 들어 어느 TextToColumns가 잘 처리되는지가 나타납니다. 캐릭터를 셀 수밖에 없다면 나 자신의 스플릿 기능을 쓸 수도 있습니다.

감사합니다 (I이 그래서 난 결과를 전치 할 수있는 옵션을 제공 할 수있다 필요로하는 이유).

+0

를 분할 (HRgiger의 제안 솔루션 허용을)되는 값의 오른쪽에는 "명확한"영역이 없다면 나는 당신이의 최대 수를 결정하는 각 셀의 값을 확인 붙어 있다고 생각 열. 또는 스크린 업데이트를 사용하여 새 시트로 분할 할 데이터를 이동 한 다음 분할하여 'usedrange.columns.count' 접근 방식을 사용하십시오. –

+0

또는 워크 시트 사본에서 분할을 실행하고 원본을 작업 시트와 비교하여 새 크기를 얻은 다음 작업 시트를 삭제하고 알려진 tranpose 크기로 코드를 재개 할 수 있습니다. – brettdj

답변

0

UsedRange로 확인할 수 있습니다. 예를 들어 아래 참조하십시오

Sub check() 
Dim before As Integer 
Dim after As Integer 
before = Sheet1.UsedRange.Columns.Count 
MsgBox before 
Range("A1").TextToColumns DataType:=xlDelimited, _ 
    Comma:=False, Space:=True 
after = Sheet1.UsedRange.Columns.Count 
MsgBox after 
MsgBox after - before 
End Sub 
+0

내 TtC 통화가 이미 데이터가있는 셀을 덮어 쓸 가능성도 있습니다. 그래서 얼마나 많은 열이 사용되는지 계산하는 것이 효과가 있다고 생각하지 않습니다. – Josh

+0

@Josh 나는 시트를 추가하고 위의 작업을 수행하지만 대상을 새 시트로 설정 한 다음 사용 된 범위를 찾는 것으로 생각됩니다. 물론 데이터를 복사하거나 열을 다른 텍스트로 처리하는 것은 사용자의 몫입니다. –

+0

이 솔루션에 만족스럽지는 않지만 숨겨진 시트에서이 작업을 수행하거나 자신 만의 스프레드를 작성하는 것만으로 내 유일한 것입니다. 선택권. – Josh

관련 문제