Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA 매크로 함수로 공백 제거하기, Trim, RTrim, LTrim 함수 이용

엑셀(Excel)/VBA
반응형

엑셀 시트에 복사해 온 데이터 중 공백이 다수 있다면 제거해야 합니다. 데이터의 양이 많으면 일일이 삭제하기 힘들기 때문에 매크로 함수를 이용하는 것이 좋습니다. 소스는 간단합니다. 현재 Active 된 시트의 전체 셀을 읽어 와서 각 셀마다 Trim() 함수로 제거한 뒤 다시 해당 셀에 집어 넣는 방식입니다. 핵심 소스는 한 줄입니다. 

 

 

아래 그림과 같이 다른 곳에서 가져온 데이터에 공백이 있는 경우 매크로를 이용해서 제거해 보겠습니다.

엑셀 VBA 매크로 macro 함수 이용해서 공백 제거하기, Trim, RTrim, LTrim 함수 이용

 

프로그램 상단에 있는 [개발 도구] 탭을 누르시면 매크로 리본 메뉴가 있습니다. 클릭하시면 팝업창이 뜨는데 매크로 실행 함수 명을 적고 오른쪽에 있는 [만들기] 버튼을 클릭합니다.

엑셀 VBA 매크로 macro 함수 이용해서 공백 제거하기, Trim, RTrim, LTrim 함수 이용

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel 앞 뒤 공백 제거하는 방법, 바꾸기와 TRIM() 함수 이용
엑셀 Excel 함수 TRIM 사용해서 빈 공간 제거하기
엑셀 Excel 빈셀, 공백 셀 찾아서 정리하기, 영역에 빈 셀 행, 열 삭제 하기
엑셀 Excel 데이터 중 빈 셀에 포함한 행 전체 삭제하기
엑셀 Excel 빈 셀 판단하는 ISBLANK 함수 사용하기

 

 

매크로 함수를 만든 후 아래 소스를 복사해서 넣습니다. 공백을 제거하는 함수는 Trim() 함수 입니다. 그럼 셀에 있는 양쪽의 공백이 제거되며 중간에 있는 공백은 한 칸만 제거 되고 남습니다.

Sub TrimFunction()
   
    ' 시트 전체 지정    
    Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
    
    ' 특정 시트 지정
    'Set rng = ActiveSheet.UsedRange.Range("A2", "C8")
       
    For Each ea In rng
        ea.Value = Trim(ea.Value)
    Next ea
 
    Set rng = Nothing
   
End Sub

 

 

매크로를 실행한 결과 입니다. “황준영백세미데이터는 중간에 3칸의 공백이 있었는데 한 칸만 제거되고 나머지는 남아 있죠. 엑셀에서 제공해주는 TRIM() 함수와는 차이가 있습니다. TRIM() 함수에서는 중간 공백을 제거할 때는 한 칸만 남기고 전부 제거하기 때문입니다.

엑셀 VBA 매크로 macro 함수 이용해서 공백 제거하기, Trim, RTrim, LTrim 함수 이용

 

참고로 왼쪽에 있는 공백과 오른쪽에 있는 공백을 각각 제거하는 함수가 별도로 있습니다. 왼쪽은 LTrim() 이며 오른쪽은 RTrim() 입니다. 한 쪽만 공백을 제거하고 싶다면 둘 중 하나를 사용하시면 되겠죠.

Sub TrimFunction()
   
    ' 시트 전체 지정
    Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
    
    ' 특정 시트 지정
    'Set rng = ActiveSheet.UsedRange.Range("A2", "C8")
       
    For Each ea In rng
        ea.Value = LTrim(ea.Value)
        ea.Value = RTrim(ea.Value)
    Next ea
 
    Set rng = Nothing
   
End Sub

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel 앞 뒤 공백 제거하는 방법, 바꾸기와 TRIM() 함수 이용
엑셀 Excel 함수 TRIM 사용해서 빈 공간 제거하기
엑셀 Excel 빈셀, 공백 셀 찾아서 정리하기, 영역에 빈 셀 행, 열 삭제 하기
엑셀 Excel 데이터 중 빈 셀에 포함한 행 전체 삭제하기
엑셀 Excel 빈 셀 판단하는 ISBLANK 함수 사용하기
반응형
Posted by 녹두장군1
,