• 최초 작성일: 2002-07-26
  • 최종 수정일: 2026-09-30
  • 조회수: 9 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 방향키로 셀 크기 조절하기 (OnKey)

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

A barking dog never bites. A barking dog was never a good hunter. 빈 수레가 요란하기 마련이지요. 마치 짖는 개가 물지 않듯이...

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 대표 직강 1강 무료

🎁 파워툴스 마스터클래스 · 엑셀 바이브 코딩

AI에게 말로 지시해서 '나만의 엑셀 도구'를 만들고 리본에 장착합니다.

  • 코딩 지식 없이 시작 · 코드는 AI가 작성
  • 엑셀 리본에 내 탭과 버튼을 만들고 XLAM으로 공유
  • 1강 무료 수강 가능
수강 신청하기 강의 소개 보기

방향키로 셀 크기 조절하기 (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를 활용하면 자주 쓰는 동작을 원하는 키 조합에 연결해 작업 속도를 높일 수 있습니다.