엑셀 양식 확정이 되어 반복 입력 작업이 매일 수 차례 반복된다고 생각해봅시다.
또는 양식이 계산을 위한 것이고 다양한 입력 조건에 따른 계산 결과를 하루에 수 십 차례 반복해서 계산한다고도 생각할 수 있습니다.
이런 경우 값을 입력하기 위해 특정 셀을 하나하나 선택하는 것 자체가 부담이 될 수 있습니다.
입력해야 할 셀로 순차적 자동 이동하게 할 수 있다면 업무 효율이 개선될 수 있을 것입니다.
상기와 같은 사례의 간단한 예제를 만들어 보았습니다.
두 값을 더한 결과를 표시해주는 계산기 양식입니다.
값을 입력하고 엔터(또는 탭)를 치면 두 번째 입력 셀로 자동 이동하며,
또 두 번째 값을 입력하면 첫 번째 입력 셀로 돌아가도록 작성해보았습니다.
VBA 코드 구성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Private Sub Worksheet_Change(ByVal Target As Range)
'변화를 감지할 셀들을 지정합니다.
Set input1 = Range("A3")
Set input2 = Range("C3")
'조건 별 셀 이동 명령을 아래에 나열 합니다.
If Not Intersect(input1, Target) Is Nothing Then
Range("C3").Select
End If
If Not Intersect(input2, Target) Is Nothing Then
Range("A3").Select
End If
End Sub
|
cs |
코드 구동 원리
- 셀 범위 정의 : input1 등의 이름으로 지정된 변수에 변화를 감지할 셀 주소(Range("A3") 등)를 할당하여, input2, input3 등으로 이름을 자유롭게 나열함 (본 예제는 입력 셀이 2개라 2개의 셀 범위만 정의함)
- If 조건문 : Target(마우스로 선택한 셀)과 input1 등이 일치한 경우(if) 셀 값의 변화가 있으면(then) 특정 셀을 select 함 (셀 이동)
- 첫 번째 if 조건문 설명 : 셀 A3는 input1로 정의됨, 즉 A3를 선택한 후 값을 변경하면 C3가 선택됨
- 두 번째 if 조건문 설명 : 셀 C3는 input2로 정의됨, 즉 C3를 선택한 후 값을 변경하면 A3가 선택됨
코드 입력 방법 (사전 개발도구 활성화 필수)
- 개발도구를 선택
- Visual Basic 클릭 (단축키 Alt + F11)
- Visual Basic 편집기가 열리면 셀 자동 이동을 구현할 시트 선택 (예 Sheet1)
- 코드 입력 (위 예제 코드 복사하여 붙여 넣기 하면 됨)
- 편집기 닫기
이상입니다.
'MS 오피스 팁 > Excel' 카테고리의 다른 글
[Excel] 엑셀 자동 표 꼭 쓰세요! (사용팁 공개) (0) | 2021.05.15 |
---|---|
[Excel] 데이터 일치 여부 비교 (초간단!) (0) | 2021.04.18 |
[Excel/VBA] 엑셀로 만든 픽셀 아트 프로그램 (Pexel Art ™) (0) | 2020.07.30 |
[Excel] 엑셀 자동 표 활용 (데이터 범위 동적 지정/구조적 참조 수식 ) (0) | 2020.07.27 |
[Excel] 엑셀 유용한 단축키 모음 (계속 추가 예정) (0) | 2020.07.18 |
댓글