[VBA기초] 영문자만 추출
Sub 영문만추출()
Dim strText As String '// 각 문자를 넣을 변수
Dim strU As String '// 문자를 합쳐갈 변수
Dim i As Integer '// 전체 문자길이 만큼 반복할 변수
Dim rngC As Range '// 각 Line 변수
Dim rngAll As Range '// 전체 범위 지정
Dim oldTime As Single '// 걸린 시간 구하는 변수 지정
Application.ScreenUpdating = False '// 화면 업데이트 (일시) 중지
oldTime = Timer '// 시간 변수 설정
Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))
'// A2 셀부터 A열의 마지막 셀까지, 빨간색 A는 D로 변경하면 A2 에서 D열의 마지막까지가 변수 범위가 됨
For Each rngC In rngAll
For i = 1 To Len(rngC) '// 전체 문자길이 만큼 반복
strText = Mid(rngC, i, 1) '// 각 문자를 추출해 변수에 넣음
If Asc(UCase(strText)) >= 65 And Asc(UCase(strText)) <= 90 Then '// 문자가 영문일 경우
strU = strU & Mid(rngC, i, 1) '// 각 문자를 합쳐감
End If
Next i
rngC.Offset(0, 1) = strU '// 추출한 값을 기록
strU = "" '// 값을 기록했으니까 초기화가 필요함
Next rngC
Set rngAll = Nothing '// 변수 초기화
MsgBox "총 " & Format(Timer - oldTime, "#0.00") & " : 초 소요"
End Sub
그대로 가져다 활용할 경우에는 보라색만 변경해서 사용하면 됩니다.
즉 범위를 어디까지 지정할 것인가, 어디에 기록을 할 것인가 하는 부분입니다.
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
[VBA기초] 날짜, 시간, 시간대 추출 (0) | 2014.05.24 |
---|---|
[VBA기초] 숫자만 추출 (1) | 2014.05.23 |
[VBA기초] 요일 구하기 (0) | 2014.05.08 |
[VBA기초] 엑셀메모 한꺼번에 지우기 (0) | 2014.04.30 |
[VBA기초] 열 자동 맞춤 (0) | 2014.03.26 |