엑셀 양식 컨트롤 사용법 총정리
VBA 코딩없이 사용하는 드롭다운, 확인란 기능 - 양식컨트롤 총정리!
이 강의에서는 VBA 매크로 없이 마우스 클릭만으로 사용할 수 있는 엑셀 양식 컨트롤 6가지의 기초 사용법을 다룹니다. 개발 도구 활성화 절차부터 커맨드버튼·콤보박스·체크박스·스핀단추·리스트박스·라디오버튼의 설정 방법, ActiveX 컨트롤과의 차이점까지 단계별로 정리해 보고서나 입력 양식에 양식 컨트롤을 직접 적용할 수 있도록 안내합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
강의 요약
엑셀을 사용하다 보면 아래 그림처럼 다양한 기능 버튼이 사용된 양식을 자주 보게 됩니다.

위 기능 버튼들은 '체크박스', '콤보박스(드롭다운 버튼)', '클릭버튼', '스핀버튼' 등 각각의 이름이 정해져 있습니다. 이러한 버튼을 보면서 '한번 사용해볼까?' 또는 '이 기능을 적용하면 내가 사용하는 양식을 더 효율적으로 다룰 수 있을 것 같은데...' 라고 생각했지만, 막상 시도하려니 어렵게 느껴져 망설이셨던 분들이 많을 겁니다.
전혀 어렵지 않습니다. 마우스 클릭 몇 번이면 누구나 손쉽게 해결할 수 있습니다.
이번 강의에서는 '개발자 도구'만 활성화하면 VBA 매크로 없이 마우스 클릭만으로 사용할 수 있는 양식 컨트롤 활용법을 다룹니다. 그중에서도 실무에서 가장 자주 쓰이는 대표 6가지 양식 컨트롤인 '커맨드버튼', '콤보박스', '체크박스', '스핀버튼', '리스트박스', '라디오버튼'의 사용법을 하나씩 자세히 알아봅니다.

엑셀 개발자 도구 활성화하기
엑셀을 실행한 뒤 화면 상단 리본에서 '개발 도구' 탭으로 이동합니다. 만약 '개발 도구' 탭이 보이지 않는다면 별도로 활성화해야 합니다.
[파일] - [옵션] - [리본 사용자 지정] 으로 이동한 뒤, 우측 메뉴에서 [개발 도구] 항목을 체크하고 '확인' 버튼을 누르면 개발 도구가 활성화됩니다.

개발 도구에는 다양한 리본 버튼이 있는데, 그중 양식 컨트롤 작업에서 자주 사용하게 될 버튼은 다음 3가지입니다.
- VBA 편집창 버튼
VBA 편집창 버튼을 클릭하면 매크로 편집창이 실행됩니다. 단축키 Alt + F11 을 누르면 더 빠르게 편집창을 열 수 있습니다.
- 매크로 기록 버튼
VBA 초보자에게 엑셀 기능을 매크로 코드로 변환하는 방법을 알려주는 도구가 바로 '매크로 기록' 버튼입니다.
'매크로 기록' 버튼을 사용하면 기록을 시작한 이후의 모든 엑셀 동작을 VBA 코드로 자동 기록해 주기 때문에, 다양한 종류의 매크로 코드를 손쉽게 확인할 수 있습니다.
VBA 코드 작성에 익숙해지더라도 모든 명령문을 외워서 사용하기는 어렵습니다. 따라서 필요한 기능을 당장 코드로 구현하기 어려울 때 인터넷 검색 외에 '매크로 기록' 기능을 활용하면 명령문을 손쉽게 확보할 수 있습니다.
엑셀 화면 좌측 하단에 위치한 '매크로 기록' 아이콘을 클릭해도 동일하게 매크로를 기록할 수 있습니다.
- 엑셀 컨트롤 삽입 버튼 (체크박스, 콤보박스, 드롭다운 등)
엑셀에서 제공하는 컨트롤 버튼은 '양식 컨트롤' 과 'ActiveX 컨트롤' 두 종류입니다. 그중 '양식 컨트롤'은 엑셀 초보자라도 마우스 클릭만으로 손쉽게 사용해 작업 효율을 끌어올릴 수 있는 도구입니다.
'양식 컨트롤'은 별도의 코딩 없이 사용할 수 있다는 장점이 있지만, 고급 기능을 구현하기에는 제약이 따릅니다.
반면 'ActiveX 컨트롤'은 VBA 작성법을 알아야 사용할 수 있는 단점이 있지만, 양식 컨트롤보다 폭넓은 고급 기능을 구현할 수 있습니다. 다만 ActiveX 컨트롤은 윈도우 버전 엑셀에서만 동작하므로 Mac 사용자와 파일을 공유할 때는 주의해야 합니다.

이번 강의에서 다루는 대표 6가지 컨트롤은 '양식 컨트롤'과 'ActiveX 컨트롤' 양쪽 모두에서 사용할 수 있으며, 'ActiveX 컨트롤'은 이번 강의에서 다루는 버튼 외에도 더 다양한 컨트롤을 지원합니다.

엑셀 양식 컨트롤 손쉬운 사용법
이번 강의에서는 아래 6가지 대표 양식 컨트롤의 사용법을 하나씩 자세히 알아봅니다.

커맨드버튼 (또는 단추, Command Button)
커맨드버튼(클릭버튼)은 거의 모든 양식에 적용할 수 있는 기능 버튼입니다. [확인], [편집], [종료] 등 버튼을 '클릭'하여 다른 동작을 실행시키고 싶을 때 사용합니다.

다만 커맨드버튼은 VBA 지식이 없으면 제대로 활용하기 어렵기 때문에, 버튼에 동작을 연결하려면 최소한의 VBA 지식이 필요합니다.
커맨드버튼을 우클릭한 뒤 [매크로 지정] 메뉴로 이동하면, 현재 통합 문서에 등록된 모든 매크로가 나열됩니다. 이 목록에서 해당 커맨드버튼에 연결할 매크로를 선택한 후 '확인' 버튼을 눌러 마무리합니다. (본 예제에서는 'msgbox_test'라는 명령문을 커맨드버튼에 연결합니다.)

이후 커맨드버튼을 클릭하면 지정한 매크로가 실행됩니다. 본 예제에서 사용한 'msgbox_test' 명령문은 버튼을 클릭할 때마다 메시지 박스의 값이 1씩 증가하면서 출력되는 코드입니다. 자세한 동작 방식은 영상 강의를 참고해 주세요.

콤보박스 (또는 드롭다운버튼, Combo Box)
콤보박스(드롭다운 버튼)는 엑셀의 '데이터 유효성 검사 - 목록' 기능과 동일한 역할을 하는 컨트롤 버튼입니다.

추가로, 양식 컨트롤로 삽입한 드롭다운 버튼은 '목록을 가져올 범위'와 '선택값을 출력할 셀'을 각각 별도로 지정할 수 있어, 데이터 유효성 검사보다 유연하고 효율적으로 활용할 수 있습니다.

콤보박스를 설정하기 위해 콤보박스를 우클릭한 뒤, [컨트롤 서식] 메뉴로 이동합니다.

| 설정값 | 설명 |
| 입력 범위 | 드롭다운 목록에 표시할 값이 입력된 범위를 선택합니다.
|
| 셀 연결 | 드롭다운에서 선택된 값의 순번이 출력될 셀을 지정합니다. |
다만 드롭다운 버튼 양식 컨트롤에는 한 가지 제약이 있습니다. 바로 실시간 검색 기능을 지원하지 않는다는 점입니다.

따라서 사용자가 드롭다운 버튼 안에 검색어를 입력해 항목을 찾을 수 없습니다. 목록에 표시되는 항목이 많을 경우 효율이 떨어질 수 있다는 점이 한계인데, 이 문제는 ActiveX 컨트롤의 콤보박스를 사용하면 해결할 수 있습니다.
체크박스 (또는 확인란, Check Box)
체크박스를 사용하면 '예' 또는 '아니오' 형태의 값을 입력받을 수 있습니다. (드물게 혼합 상태(중간값)를 함께 받는 경우도 있습니다.) 다만 이번 강의에서 다루는 양식 컨트롤 체크박스는 중간값 선택을 지원하지 않습니다.

체크박스를 설정하기 위해 체크박스를 우클릭한 뒤 '컨트롤 서식'으로 이동합니다. 이어서 '컨트롤' 탭을 선택합니다.

| 설정값 | 설명 |
| 값 | 체크박스의 초기 상태와 결과 값을 결정합니다.
|
| 셀 연결 | 체크박스의 결과 값을 출력할 셀을 지정합니다. |
스핀단추 (또는 증감버튼, Spin Button)
스핀단추는 버튼 클릭만으로 숫자의 증감을 표현할 수 있는 컨트롤입니다. 스핀단추를 사용하면 +1, +5, +10 등 원하는 단위로 자유롭게 숫자를 변경할 수 있습니다.

스핀단추를 설정하기 위해 스핀단추를 우클릭한 뒤 '컨트롤 서식'으로 이동하고, 이어서 [컨트롤] 탭을 선택합니다.

| 설정값 | 설명 |
| 현재값 | 연결된 셀의 현재 값을 결정합니다.
|
| 최소값 | 연결된 셀이 가질 수 있는 최소값입니다.
|
| 최대값 | 연결된 셀이 가질 수 있는 최대값입니다.
|
| 증분 변경 | 스핀단추를 클릭할 때 값이 증가하거나 감소하는 단위입니다.
|
| 셀 연결 | 스핀단추를 클릭했을 때 값이 변경될 대상 셀을 지정합니다. |
리스트박스 (또는 목록상자, List Box)
리스트박스(목록상자)는 콤보박스와 사용법이 거의 동일합니다.
다만 드롭다운 버튼은 1개 항목만 선택할 수 있는 반면, 리스트박스는 한 개 또는 여러 개의 값을 동시에 선택할 수 있도록 지원합니다. 단, 양식 컨트롤 리스트박스에서는 '한 개' 선택만 지원되며, 여러 개 또는 확장 선택 방식을 사용하려면 ActiveX 컨트롤을 활용해야 합니다.

리스트박스를 설정하기 위해 리스트박스를 우클릭한 뒤 '컨트롤 서식'으로 이동하고, 이어서 '컨트롤' 탭을 선택합니다.

| 설정값 | 설명 |
| 입력 범위 | 리스트박스에 표시할 값이 입력된 범위를 지정합니다.
|
| 셀 연결 | 리스트박스에서 선택된 값이 몇 번째에 위치하는지 순번을 출력할 셀을 지정합니다.
|
| 선택 유형 | 리스트박스의 선택 방식을 지정합니다. 양식 컨트롤 리스트박스에서는 '한 개' 옵션만 사용 가능합니다.
|
라디오버튼 (또는 옵션단추, Radio Button)
옵션단추는 체크박스와 유사한 역할을 수행합니다. 생김새도 비슷하고, 예/아니오 형태의 값을 가져오는 동작도 닮아 있습니다.

다만 체크박스가 각각 독립적으로 동작하는 반면, 옵션단추는 여러 개의 단추가 '하나의 그룹'으로 묶여 동작한다는 차이가 있습니다. 두 컨트롤의 차이를 정리하면 아래와 같습니다.

- 체크박스
: 여러 개의 값을 동시에 선택할 수 있습니다.
예) 당신의 취미는 무엇인가요? : 수영, 악기 연주, 등산 등 (다중 선택 가능) - 옵션단추
: 여러 개의 값 중 하나만 선택할 수 있습니다.
예) 당신의 나이대는 어떻게 되시나요? : 20대 (4개 중 택 1)
옵션단추의 설정 방법은 체크박스와 동일합니다. 옵션단추를 우클릭한 뒤 '컨트롤 서식'으로 이동하고, 이어서 '컨트롤' 탭을 선택합니다.

| 설정값 | 설명 |
| 값 | 선택한 옵션단추의 값을 지정합니다.
|
| 셀 연결 | 옵션단추의 값을 출력할 셀을 지정합니다.
|
[버튼]을 이용해서 그래프가 변화되게 하고 싶습니다
예를들어
[버튼1] 클릭시 a2에서 a50까지의 그래프
[버튼2] 클릭시 b2에서 b50까지의 그래프
등등
이럴경우 무조건 vba[매크로]알아야하나요?
VBA 가 반드시 필요할수도 있고, 아닐수도 있습니다. 어떻게 구현하고 싶으냐에 따라 달라질듯합니다.
아래 피벗테이블과 슬라이서를 이용한 차트강의를 확인해보시겠어요?
https://www.oppadu.com/엑셀-버튼-클릭-차트-자동-업데이트/
혹시라도 아이디어를 얻으시는데 도움이 되셨길 바랍니다.
감사합니다.
참고로 보안에서 모든 메크로 포함이 되어있습니다
콤보박스같은경우에 세로 행만 적용이 되는데 가로행을 적용하려면 어떤 방식으로 해야되나요??
콤보박스 안에 여러 열을 동시에 표시하려면 Active X 컨트롤의 콤보박스를 사용하셔야 하는데요.
아래 라이브 강의를 한번 참고해보시겠어요?
https://www.oppadu.com/%ec%97%91%ec%85%80-live-27%ea%b0%95/
감사합니다.
좋은 강의 감사합니다.