EXCEL - VBA

범위를 지정하는 방법(2) - Selection

별동산 2025. 2. 21. 08:41
반응형

이번에는 Selection을 이용해 매크로를 수정해 보겠습니다.

 

Application.InputBox를 이용한 방법은

아래 글을 참고 바랍니다.

범위를 지정하는 방법(1) - Application.InputBox

 

1. 코드

범위를 입력받지 않고 선택된 범위를 이용하므로

코드도 간결해집니다.

Sub 하이픈지우기2()
    Dim c As Range
    
    If IsEmpty(Selection) Then
        End
    Else
        For Each c In Selection
            c = WorksheetFunction.Substitute(c, "-", "")
        Next
    End If
End Sub

 

에러를 처리하는 구문이 없고(On Error Resume Next),

범위를 입력받는 부분(Application.InputBox)과

계속 입력을 받는 While문도 없어졌습니다.

 

하이픈지우기2.xlsm
0.02MB

 

2. 코드 설명

(1) 변수 선언

Dim c As Range

 

For Each 반복문에서 사용할 범위 변수명을 c로 지정합니다.

 

(2) 선택 영역이 비어 있으면 종료

If IsEmpty(Selection) Then
    end

 

선택 영역이 비어 있으면, 다시 말해 선택 영역에 데이터가 입력되지 않은 경우입니다. 예를 들어 B2셀에 셀 포인터가 있으면 셀이 비어 있는 것입니다.

 

 

(3) 선택 영역이 비어 있지 않으면 셀을 하나씩 반복하면서 하이픈 제거

    For Each c In Selection
            c = WorksheetFunction.Substitute(c, "-", "")
    Next

 

For Each문을 이용해 Selection, 다시 말해 선택 영역에서 셀을 하나씩 돌아가면서

하이픈을 제거한 값을 그 셀에 입력합니다.

c = WorksheetFunction.Substitute(c, "-", "") : 

 

3. 동영상

먼저 선택을 하고 매크로를 실행하는 것이 1편과 다른 점입니다.

따라서, 매크로 작동 방법을 알고 있어야 합니다.

범위를 선택한 후 매크로를 실행하면 하이픈을 제거해주는 매크로

 

반응형