엑셀 VBA에서 빈 셀을 0이나 하이픈(-) 또는 특정 문자로 변경하는 방법


엑셀에서 셀의 텍스트를 변환하는 방법은 여러가지가 있습니다.

REPLACE 함수를 사용해서 텍스트를 변환할 수도 있고, [찾기 및 바꾸기] 메뉴를 사용해서 텍스트를 바꿀 수도 있습니다.

그리고 IF 함수를 사용해서 텍스트를 다른 문자로 변경할 수도 있습니다.

엑셀의 개발 도구인 VBA(Visual Basic Application)를 사용해서 특정 셀 값을 다른 셀 값으로 변경하는 로직을 구현할 수 있습니다.
이번 글에서는 엑셀 VBA에서 빈 셀을 0이나 하이픈(-) 또는 특정 문자로 변경하는 방법하는 방법에 대해 알아보겠습니다.

※ 참고로 엑셀에서 셀 값이 0인 경우 공백이나 하이픈(-)으로 바꾸는 방법은 엑셀에서 셀 값이 0일 때 하이픈(-)이나 공백으로 표시하는 3가지 방법 글을 참고하시면 됩니다.

VBA에서 빈 셀을 0으로 또는 특정 문자로 바꾸는 방법

▼ 아래 시트를 보면 중간 중간에 빈 셀이 있는 것이 보입니다.

– VBA 코드로 시트의 빈 셀을 0으로 바꾸는 방법에 대한 예제입니다.

엑셀 VBA에서 빈 셀을 0이나 특정 문자로 변경하는 방법


1. 빈 셀을 0으로 바꿀 셀들을 모두 선택합니다. (선택한 셀만 바꾸기를 진행합니다.)

2. VBA를 실행하기 위해 [개발 도구] 리본 텝을 선택하고 코드 항목에서 [Visual Basic]을 클릭해 줍니다.

만약 [개발 도구] 리본이 보이지 않는다면 본문 아래의 다른 포스팅 글 링크를 참고하시면 됩니다.

3. Microsoft Visual Basic for Application 화면에서 [삽입] 메뉴를 선택하고 [모듈]을 클릭해서 새로운 모듈을 만듭니다.

VBA에서 빈 셀을 0으로 또는 특정 문자로 바꾸는 방법 - VBA 모듈 삽입

4. 모듈의 코드 편집기에 아래 VBA 코드를 작성하고 [실행] 버튼을 클릭해 줍니다.

Sub 빈셀을0으로바꾸기()
 
    Dim rng As Range
    Selection.Value = Selection.Value
    
    For Each rng In Selection
        If rng = “” Or rng = ” “ Then
            rng.Value = “0”
        End If
    Next rng
 
End Sub
 
VBA에서 빈 셀을 0으로 또는 특정 문자로 바꾸는 방법 - VBA 코드

5. VBA가 실행되면 아래 시트 화면처럼 선택한 셀 중에 빈 셀들이 모두 0으로 바뀐 것을 확인할 수 있습니다.

VBA에서 빈 셀을 0으로 바꾸는 방법


6. 만약 VBA 코드를 아래와 같이 작성했다면 빈 행이나 0이 있는 셀이 모두 하이픈(-)으로 바뀌게 됩니다.

Sub 빈셀을0으로바꾸기()
 
    Dim rng As Range
    Selection.Value = Selection.Value
    
    For Each rng In Selection
        If rng = “” Or rng = ” “ Or rng = “0” Then
            rng.Value = “-“
        End If
    Next rng
 
End Sub
 

7. 아래 화면의 위의 VBA 코드를 실행했을 때의 시트 화면입니다.

VBA에서 빈 셀을 특정 문자로 바꾸는 방법


※ IF ~ Else ~ End If 문을 어떻게 작성하는냐에 따라 다양한 조건의 텍스트 바꾸기 작업이 가능해 집니다.
같을 때(=) 뿐만 아니라 클 때(>, >=), 작을 때(<, =<) 등의 조건으로 작업을 처리할 수도 있습니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기