반응형
이번에는 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. 코드 설명
(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편과 다른 점입니다.
따라서, 매크로 작동 방법을 알고 있어야 합니다.
반응형
'EXCEL - VBA' 카테고리의 다른 글
VBA - vworld 사이트에서 토지 특성 조회(2) : 도구 - 참조에서 XML v6.0 추가 (0) | 2025.03.11 |
---|---|
VBA - vworld 사이트에서 토지 특성 조회(1) : 토지특성속성조회 API (0) | 2025.03.10 |
범위를 지정하는 방법(1) - Application.InputBox (0) | 2025.02.20 |
지정된 색이 포함된 행을 위로 올리기 (0) | 2025.02.19 |
표에서는 '복사한 셀 삽입'이 안되네요... (0) | 2025.02.18 |