Wednesday, January 10, 2007
Excel/엑셀] VBA매크로, 불필요한 공백 제거, 문자열 앞뒤 스페이스 지우기; Trim Trailing Spaces
엑셀 내장 함수인 TRIM() 으로는, 셀에 있는 문자열의 앞뒤 불필요한 공백 자체는 지울 수 없습니다. 그래서 다음과 같이 VBA 매크로를 사용해야 합니다.
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
위의 VBA매크로를 실행하면, 현재 엑셀 시트의 "모든 사용된 구역"에 있는 문자열들에서 앞뒤 공백을 깨끗이 지웁니다.
주의! 버그가 있을 수 있으니 실무에 사용할 때에는 충분한 테스트가 필요합니다. 이렇게 시트 내용 전체를 변경하는 매크로는 좀 위험합니다.
중요한 문서에는 되도록 사용하지 마시길 바랍니다.
엑셀 내장 함수로 지우기: ▶▶ Excel/엑셀] 셀의, 공백 제거 함수, 문자열 앞뒤 스페이스 지우기; Remove Trailing White Space
▶▶ Excel/엑셀 VBA] Trim, LTrim, RTrim; 양쪽, 왼쪽, 오른쪽 공백 제거 함수
불필요한 공백문자 삭제 VBA매크로
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
Sub trimSpaceAll()
Dim C As Range, R As Range
Application.ScreenUpdating = False
Set R = ActiveSheet.UsedRange
For Each C In R
If Not IsError(C) And C <> "" Then
C.Value = Trim(C.Value)
End If
Next C
Application.ScreenUpdating = True
End Sub
Dim C As Range, R As Range
Application.ScreenUpdating = False
Set R = ActiveSheet.UsedRange
For Each C In R
If Not IsError(C) And C <> "" Then
C.Value = Trim(C.Value)
End If
Next C
Application.ScreenUpdating = True
End Sub
위의 VBA매크로를 실행하면, 현재 엑셀 시트의 "모든 사용된 구역"에 있는 문자열들에서 앞뒤 공백을 깨끗이 지웁니다.
주의! 버그가 있을 수 있으니 실무에 사용할 때에는 충분한 테스트가 필요합니다. 이렇게 시트 내용 전체를 변경하는 매크로는 좀 위험합니다.
중요한 문서에는 되도록 사용하지 마시길 바랍니다.
엑셀 내장 함수로 지우기: ▶▶ Excel/엑셀] 셀의, 공백 제거 함수, 문자열 앞뒤 스페이스 지우기; Remove Trailing White Space
▶▶ Excel/엑셀 VBA] Trim, LTrim, RTrim; 양쪽, 왼쪽, 오른쪽 공백 제거 함수
tag: office
엑셀 Excel | 워드 Word | VBA 매크로 | 오피스
<< Home