네이버지식인에 올라온 질문을 보고 작성을 했습니다.
한문과 발음기호가 분리되지 않은 걸 셀 분리를 하고 싶다는 내용입니다.
이 경우에는 한문이 먼저 나오고 발음기호는 뒤에 나오는 걸 분리하는 VBA Code 입니다.
Sub 한문과기호분리()
Dim rngC As Range '// 선택영역 각 셀을 넣을 변수
Dim rngAll As Range '// 선택영역 전체 범위 변수
Dim SplitPoint, i As Integer
Dim TempStr As String
Application.ScreenUpdating = False '// 화면 업데이트 (일시)정지
Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3)) '// 범위 구간 지정
'// A2 는 구간범위 시작셀, Cells(Rows.Count, "A").End(3)은 A열 값이 있는 마지막 셀
For Each rngC In rngAll '// rngC 는 각셀을 순환하는 셀, rngAll 은 전체 범위
For i = 1 To Len(rngC) '// rngC 셀의 각글자단위로 반복
TempStr = Asc(Mid(rngC, i, 1)) '// 각 글자를 ASC값으로 변환하여 TempStr 변수에 저장
If Not (TempStr >= -13663 And TempStr <= -514) Then '// 한문이 아니면
SplitPoint = i '// 한문이 아닌 글자를 만나면 i 값을 기록하라
Exit For '// For문을 빠져 나가라
End If
Next i
rngC.Offset(0, 1) = Trim(Mid(rngC, 1, SplitPoint - 1)) '// 현재 rngC 셀 기준으로 우측으로 1칸 이동
rngC.Offset(0, 2) = Trim(Mid(rngC, SplitPoint, Len(rngC) - SplitPoint + 1)) '// 우측으로 2칸 이동
Next rngC
Set rngAll = Nothing '// 변수 초기화
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
[VBA] 다른 시트에 일치하는 내용이 있는지 검사하여 포함되어 있는 행 출력 (0) | 2015.04.23 |
---|---|
연속된 숫자 개수 구하기 (0) | 2015.04.19 |
파일의 유효기간 설정하여 날짜 지나면 자동 삭제 (0) | 2015.03.30 |
[VBA] 중복데이터 색깔표시, 중복제거, 정렬 (2) | 2015.03.08 |
[VBA] 행높이와 열너비 저장 및 복원 (0) | 2015.02.25 |