본문 바로가기

엑셀로 풀어가는 세상

엑셀 VBA #14 / 셀 범위 선택하기_9 [VBA] - Intersect 실무예제

엑셀 VBA #14 / 셀 범위 선택하기_9 [VBA] - Intersect 실무예제


1. 목적 : 실무사례에서 Intersect가 어떻게 사용되는지 확인
2. 의도 : 특정 영역의 셀에 문자 입력 불가토록 함(즉 셀 값이 숫자 또는 빈 셀이어햐 함)
3. 적용기법 : 위크시트 이벤트(모듈이 아님), Intersect, IsNumeric

위크시트 이벤트 실행방법
콤보 박스에서 Worksheet선택, 본 예제에서는 Change선택




4. 코드

A2~D11 영역의 셀에는 문자 입력 불가토록 코딩함

 

Private Sub Worksheet_Change(ByVal Target As Range)

 

On Error GoTo er     '만약 에러가 발생하면, 아래의 er로 가라
If Not Intersect(Target, Columns("A:D")) Is Nothing Then
    If Target.Row > 1 And Target.Row < 12 Then
        If VBA.IsNumeric(Target) Then
        Else
            MsgBox   "숫자로 입력하세요"
            Target = ""        '타겟 셀에 문자등을 입력하였다면 그 문자를 삭제하는 코드
            Target.Select    '문자 삭제한 후, 커서가 다음 열 혹은 행으로 이동하지 않고 다시 타겟셀에 있도록하는 코드
            End If
        End If
End If

er:

End Sub

vba#14.xlsm
0.02MB

 

vba - intersect, event프로시져

 

 

https://www.youtube.com/watch?v=NBO4iXAEAhw&list=PLfxvqpVCYZ8e0qlyc_FU46neoWjO7yTWj&index=14

 

 

반응형