- 최초 작성일: 2002-07-26
- 최종 수정일: 2026-09-30
- 조회수: 9 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 방향키로 셀 크기 조절하기 (OnKey)
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
A barking dog never bites. A barking dog was never a good hunter. 빈 수레가 요란하기 마련이지요. 마치 짖는 개가 물지 않듯이...
방향키로 셀 크기 조절하기 (OnKey)
핵심 요약: 방향키로 셀 크기 조절하기
OnKey 메서드로 Shift와 방향키 조합에 프로시저를 연결하면 키를 누를 때마다 열 너비와 행 높이가 조금씩 늘거나 줄어듭니다.
- 1단계: OnKey로 +{Right}, +{Left}, +{Up}, +{Down}에 프로시저를 연결합니다.
- 2단계: 각 프로시저에서 ColumnWidth와 RowHeight를 조금씩 바꿉니다.
- 3단계: 프로시저 이름을 빈 문자열로 지정해 기능을 해제합니다.
Step 1: OnKey 메서드로 셀 크기 조절하기
OnKey 메서드를 이용하면 강좌 제목과 같이 특정 키를 사용하여 셀 크기를 조절할 수 있습니다. OnKey 메서드라고 하니까 언제 들어본 것도 같고 아닌 것 같기도 하고… 마구 헷갈리시지요? 분명히 했습니다. ^^
OnKey 메서드가 머하는 거였더라? 하는 분은 잽싸게 VB0144, VB0145 강좌를 다시 열어보고 오시기 바랍니다(특정한 키 또는 키 조합을 누르면 사용자가 지정한 프로시저를 실행하는 메서드이지요).
아래 버튼을 클릭하신 다음, Shift 키를 누른 채 방향키를 눌러 보세요.
키를 누를 때마다 셀의 크기가 늘었다 줄었다 하지요? 열 너비뿐만 아니라 행 높이에도 동일하게 적용될 것입니다. 코드를 보면…
Sub AdjustCellSize()
With Application
.OnKey "+{Right}", "RightDirection"
' +{Right} 부분은 입력되는 키를 나타내는 문자열입니다. 여기서 + 기호는 + 키를
' 누르라는 것이 아니라 Shift 키를 의미합니다. 그 다음의 {Right}는 방향키 중에서
' 오른쪽 방향키를 의미하는 것입니다.
' 마지막에 있는 RightDirection은 실행할 프로시저명 입니다.
' 아직 OnKey 메서드가 잘 이해되지 않는 분은 고집(?) 부리지 말고 얼른 VB0144
' 강좌를 보고 오시라니깐요!
.OnKey "+{Left}", "LeftDirection"
.OnKey "+{Up}", "Upward"
.OnKey "+{Down}", "Downward"
End With
End Sub
Step 2: 방향별 프로시저
아래 네 개의 프로시저는 위 AdjustCellSize에서 호출한 것으로 각 방향키를 눌렀을 때 셀 크기를 상/하/좌/우 방향으로 늘였다 줄였다 하는 코드입니다. 이 코드는 더 이상의 설명이 필요없을 듯 하고…
Sub RightDirection()
On Error Resume Next
With Selection
.ColumnWidth = .ColumnWidth + 0.1
End With
End Sub
Sub LeftDirection()
On Error Resume Next
With Selection
.ColumnWidth = .ColumnWidth - 0.1
End With
End Sub
Sub Upward()
On Error Resume Next
With Selection
.RowHeight = .RowHeight - 0.3
End With
End Sub
Sub Downward()
On Error Resume Next
With Selection
.RowHeight = .RowHeight + 0.3
End With
End Sub
Step 3: 기능 끄기
마지막으로, 작동시키는 기능이 있으면 멈추는 기능도 당연히 준비를 해 두어야 겠지요. 아래 버튼을 누르세요.
Sub TurnOff()
With Application
.OnKey "+{Right}", ""
' 더 간단합니다. 특정 키를 눌렀을 때 프로시저를 별도로 지정하지 않으면 기능이
' 자동으로 꺼지는 것입니다.
.OnKey "+{Left}", ""
.OnKey "+{Up}", ""
.OnKey "+{Down}", ""
End With
End Sub
아주 간단하지요? 이 방법이 아주 편리하다고 생각되시는 분은 추가 기능 파일을 만들어서 등록해 두고 사용하셔도 될 것입니다.
정리 — OnKey 활용 핵심 코드
| 구분 | 사용한 코드 | 역할 |
|---|---|---|
| 키 지정 | .OnKey "+{Right}", "RightDirection" | Shift+오른쪽 방향키 연결 |
| 열 너비 | .ColumnWidth = .ColumnWidth + 0.1 | 너비 늘리기 |
| 행 높이 | .RowHeight = .RowHeight + 0.3 | 높이 늘리기 |
| 키 기호 | + = Shift, {Right} = 오른쪽 방향키 | 키 조합 표기 |
| 기능 해제 | .OnKey "+{Right}", "" | 프로시저 연결 해제 |
자주 묻는 질문 (FAQ)
Q1. OnKey의 키 문자열에서 +는 무슨 뜻인가요?
+ 기호는 + 키가 아니라 Shift 키를 의미합니다. {Right}는 오른쪽 방향키입니다.
Q2. OnKey로 지정한 기능을 끄려면 어떻게 하나요?
같은 키에 프로시저 이름을 빈 문자열로 지정하면 연결이 해제되어 기본 동작으로 돌아갑니다.
Q3. 이 기능을 항상 사용하려면 어떻게 하나요?
추가 기능 파일로 만들어 등록해 두거나 통합 문서를 열 때마다 OnKey를 설정하도록 하면 됩니다.
마치며
OnKey를 활용하면 자주 쓰는 동작을 원하는 키 조합에 연결해 작업 속도를 높일 수 있습니다.