셀 분리 활용
데이터가 하나의 셀로 되어 있어서 두개로 분리를 해야 할 경우가 있습니다.
아래 VBA 코드를 가지고 msgbox Ubound(varTemp) 도 넣어서 F8 키를 눌러서 확인 등을 해보면 확실하게 알 수 있습니다.
하나하나 분리해야 할 때에는 For i Next 구문 대신에 rngC.Next.Resize(1,Ubound(varTemp)) = varTemp 를 넣어주면 됩니다.
Sub 셀분리()
Dim rngC As Range
Dim rngAll As Range
Dim i As Integer
Dim varTemp
Dim deLimiter, sTxt As String
Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))
deLimiter = " " '// 구분자
For Each rngC In rngAll
varTemp = Split(rngC, deLimiter) '// 구분자로 셀을 분리하여 varTemp 배열에 저장
For i = LBound(varTemp) To UBound(varTemp) - 1 '// 배열의 가장 작은 숫자와 가장 큰 숫자를 추출
'// i = 0 부터 시작
sTxt = sTxt & varTemp(i) & deLimiter '// For 문에서 지정된 것만큼 셀을 합쳐서 하나의 sTxt 로 만듬
Next i
rngC.Next = sTxt '// 현재 셀 오른쪽에 sTxt 를 저장
rngC.Offset(0, 2) = varTemp(UBound(varTemp)) '// 마지막 부분을 현재셀 오른쪽 2번째 셀에 기록
sTxt = vbNullString '// 값을 초기화
Next rngC
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
[VBA] 우편번호 주소 정리 (0) | 2014.09.20 |
---|---|
[VBA] 엑셀에서 찾고자 하는 단어를 쉽게 찾는 VBA (0) | 2014.09.19 |
[DOS] 폴더와 하위 폴더에 있는 파일명들을 텍스트로 추출하기 (0) | 2014.09.10 |
[VBA] 텍스트파일을 엑셀로 읽어서 정렬 (0) | 2014.09.01 |
[VBA] 지정한 열만 텍스트 파일로 내보내기 (0) | 2014.08.28 |