rand(life)

[vba] 유령문자 제거 본문

컴퓨터/엑셀

[vba] 유령문자 제거

flogsta 2017. 6. 14. 12:30

겉보기에는 빈칸인데 F5 이동키를 이용해서 빈칸을 선택하려해보면 안잡히는 셀이 가끔 있다.

주로 인터넷에서 자료를 복사해오거나 할 때 주로 생기는데,

수식이나 기능을 써야할때 이 것들 때문에 오류가 나서 짜증나게 한다.


이런 유령문자를 없애는 데는 몇 가지 방법이 있는데, 여기서는 두 가지를 소개한다.


첫번째는 텍스트 나누기를 이용하는 방법이다.


아래처럼 유령문자가 있는 열을 선택하고

텍스트나누기를 실행하고, 첫단계에서 바로 "마침"을 누르는 것이다.




이 방법은 간단해서 좋은데, 텍스트나누기는 여러 열을 선택하고 한꺼번에 실행할 수가 없기 때문에, 해야할 열이 많거나 여러 파일에서 같은 일을 해야하면 VBA를 이용해야한다.

 

Sub QuickReplace()

Dim X

Dim lngRow As Long

Dim lngCol As Long

 

ActiveSheet.UsedRange

X = ActiveSheet.UsedRange.Value2

For lngRow = 1 To UBound(X, 1)

   For lngCol = 1 To UBound(X, 2)

If Len(X(lngRow, lngCol)) = 0 Then X(lngRow, lngCol) = vbNullString

'이 부분이 핵심이다

   Next

Next

ActiveSheet.UsedRange.Value2 = X

End Sub