텍스트 글자별로 나누기(엑셀)

잘 쓰지 않는 기능이지만 가끔 텍스트 파일을 불러올 떄 요긴하게 쓸 수 있으니, 한번 알아보자.
아래와 같이 셀 안에 텍스트가 들어있다고 치자. 각각의 스펠을 나누어 순서대로 셀 안에 담을 예정이다. 데이터 메뉴에서 데이터도구>텍스트 나누기 버튼을 누른다.

myimg



텍스트 마법사가 뜬다.
한글로 나오는 안내에 따라 클릭하기만 하면 된다.
일단 이번 경우는 특정한 구분기호로 분리된 케이스(구분기호로 저장된 파일)이 아니기 떄문에 너비가 일정함으로 선택한다.

myimg



구분선을 통해 나누고자 하는 부분을 체킹해준다.
설명도 매우 자세하다.

myimg



옮기고 싶은 열을 선택해준다.
나는 a1셀을 선택했다.

myimg



A1셀로부터 우측으로 각각의 텍스트가 분리되어 셀에 입력된다.

myimg



만약 열방향으로 놓고 싶으면, 행/열 바꾸기로 넣어주면 된다.
셀을 고르고, 복사한다.

myimg



원하는 셀을 선택하고, 선택하여 붙여넣기 > 행열 바꿈을 체크한다.

myimg



A4셀부터 아래쪽으로 텍스트가 복사됐다.

myimg



이건 여기까지.



텍스트 글자별로 나누기(VBA)

엑셀 기본기능에 텍스트 나누기 기능이 있다. 실무에서 아직 쓴적은 없지만, 강력한 기능인것 같아, 코드로 짜봤다.

매크로로 녹화해서 봤더니, ARRAY로 프로그래밍되서, 나의 실력으로는 커스터마이징이 어려울 거 같아, FOR NEXT로 노가다. ..

ROW와 COLUMN이 동시에 되도록 했다. 사실. AUTOFIT 기능이 더 흥미롭다.

myimg



Sub txt_separation()

Dim k As String
Dim text_Len As Integer
Dim myTXT As String
Dim N As Integer

k = InputBox("텍스트입력")
text_Len = Len(k)

For N = 1 To text_Len
    myTXT = Mid(k, N, 1)
    Cells(1, N).Value = myTXT
    Cells(N, 1).Value = myTXT
Next N

ActiveWindow.DisplayGridlines = False

With Cells
    .EntireColumn.AutoFit
    .EntireRow.AutoFit
End With

End Sub

단독으로 쓰일 일은 없겠지만, 시간되면 업데이트.

끝.