본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

VBA 스크립트를 활용한 엑셀 데이터 유효성 검사 방법

by 포탈메이커 2023. 6. 24.

VBA 스크립트를 활용한 엑셀 데이터 유효성 검사 방법

Excel은 대중적으로 사용되는 스프레드시트 프로그램입니다. 그러나, 수많은 데이터를 처리할 때 데이터의 유효성을 검사하는 것은 어려운 일입니다.

이 때, VBA 스크립트를 활용하여 엑셀 데이터를 유효성 검사할 수 있습니다.

 

칼퇴키트, 업무용 도구모음

칼퇴를 위해 꼭 필요한 도구 모음을 제공합니다. 당장의 업무에 필요한 순간 사용하는 가벼운 메모장, 계산기, 변환기 등

portalmaker.backtohome.kr

 

1. VBA 스크립트란?

Visual Basic for Applications, 줄여서 VBA는 Excel, Word와 같은 오피스 프로그램에서 동작하는 프로그래밍 언어입니다. VBA는 일반적인 프로그래밍 언어처럼 조건문, 반복문 등을 활용하며, 메뉴를 이용하여 쉽게 사용할 수 있습니다. 또한 VBA를 이용해서는 Excel의 기능을 확장하거나, 사용자 친화적인 인터페이스를 제공할 수도 있습니다.


2. VBA의 데이터 유효성 검사 기능

데이터 유효성 검사는 데이터 입력을 보다 정확하고 유효하게 수행할 수 있도록 해 주는 기능입니다. Excel은 데이터 유효성 검사를 지원하며, VBA 스크립트를 이용하여 이 기능을 보다 효율적으로 사용할 수 있습니다. 예를 들어, 숫자 입력을 요구하는 셀에 문자열이 입력되는 경우, 이를 검출하여 오류 메시지를 보여줄 수 있습니다.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not IsNumeric(Target.Value) And Not IsEmpty(Target.Value) Then
        MsgBox "숫자를 입력해주세요.", vbExclamation
        Target.ClearContents
    End If
End Sub

위의 코드는 해당 워크시트에서 셀 값이 변경될 때마다 실행됩니다. 만약, Target 셀이 숫자가 아니고 비어 있지 않은 경우에는 메시지 박스를 띄우고 셀을 초기화하는 코드입니다. 이처럼 VBA 스크립트를 이용하면 Excel의 데이터 유효성 검사 기능을 보다 다양하고 효율적으로 사용할 수 있습니다.


3. VBA 스크립트를 사용한 데이터 유효성 검사 방법

3.1. 데이터 길이 검사

VBA 스크립트를 사용하여 셀에 입력된 데이터가 일정한 길이를 초과하지 않도록 검사할 수 있습니다. 아래의 예제 코드는 셀 B2에서 입력된 텍스트의 길이가 5자 이하인지 검사하고, 이를 초과하는 경우 메시지 박스를 띄우며 해당 셀을 초기화합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" Then
        If Len(Target.Value) > 5 Then
            MsgBox "5자 이하로 작성해주세요.", vbExclamation
            Target.ClearContents
        End If
    End If
End Sub

3.2. 숫자 범위 검사

VBA 스크립트를 사용하여 셀에 입력된 데이터가 일정한 범위 내에 있는지 검사할 수 있습니다. 아래의 예제 코드는 셀 C2에서 입력된 값을 1~5 사이의 숫자로 제한하며, 범위를 벗어나는 경우 메시지 박스를 띄우고 해당 셀을 초기화합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$2" Then
        If Target.Value < 1 Or Target.Value > 5 Then
            MsgBox "1에서 5 사이의 값을 입력해주세요.", vbExclamation
            Target.ClearContents
        End If
    End If
End Sub

3.3. 형식 검사

VBA 스크립트를 사용하여 셀에 입력된 데이터가 일정한 형식을 따르는지 검사할 수 있습니다. 아래의 예제 코드는 셀 D2에서 입력된 값이 이메일 형식에 맞는지 확인하며, 형식을 벗어나는 경우 메시지 박스를 띄우고 해당 셀을 초기화합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$2" Then
        If Not InStr(Target.Value, "@") Or Not InStr(Target.Value, ".") Then
            MsgBox "이메일 형식으로 작성해주세요.", vbExclamation
            Target.ClearContents
        End If
    End If
End Sub


4. 마치며

VBA 스크립트를 사용하면 Excel에서 데이터 유효성을 검사하는 기능을 보다 더욱 유연하고 강력하게 사용할 수 있습니다. 위의 예제 코드를 참고하여 데이터 유효성 검사에 대한 다양한 스크립트를 작성해보세요!

 



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!