본문 바로가기
WeekdayLife/excel

[엑셀VBA] 숫자 데이터 공백 지우기(앞/뒤/가운데 전부)

by JO_i 2016. 11. 17.

숫자 데이터 공백 지우기(앞/뒤/가운데 전부)

DB를 엑셀로 변환하거나 아웃룩, 파워포인트, 웹에서 데이터를 드래그 하다보면,

숫자 데이터 사이에 공백이 생겨, 텍스트로 인식되는 경우가 있다.

 

아무리 데이터양이 적어도 일일이 다 지우기에 엄청 짜증난다.

이번에도 시덥잖은 코드로 해결해보고자 한다.

 

 

** 당연히 바꾸기(컨트롤 H)로 가능하지만 코드로 해야한다

 

 

 

 

[코드샘플]

Sub del_blank()

Dim myRNG As Range
Dim k as integer

If MsgBox("수식 다 날아갑니다", vbExclamation + vbYesNo) = vbNo Then
 GoTo dd
End If

On Error Resume Next
Application.DisplayAlerts = False
    Set myRNG = Application.InputBox("공백없앨 영역선택", , , , , , , 8)
Application.DisplayAlerts = True
On Error GoTo 0

If myRNG Is Nothing Then
    MsgBox "범위를 선택하지 않아, 종료합니다"
    GoTo dd
End If

For k = 1 To myRNG.Count
    myRNG(k) = WorksheetFunction.Trim(myRNG(k))
    myRNG(k) = Replace(myRNG(k), " ", "")
Next k

dd:
End Sub

 

필요에 의해 재미로 하다보니, 개발자들이 흔히 쓰는 띄어쓰기나 이런거 모른다. 귀찮다.

코드 다시 까볼 생각 전혀 없다. ㅋㅋ