엑셀에서 좀더 확장된 기능을 구현하기 위해서는 개발 도구를 활성화 시켜야 합니다. 개발 도구에는 매크로, COM 추가기능, 확장 컨트롤 등 잘 사용하면 웬만한 4GL 툴들 못지않은 기능들이 들어가 있습니다. 그 중에서 가장 많이 사용되고 있는 VBA 함수를 작성해 보겠습니다. 그리고 양식 컨트롤에 있는 버튼을 추가해서 VBA 로 작성한 함수를 연결할 것입니다.
▼ 아래는 AVERAGEIFS 함수를 이용해서 지정한 거래처와 품목에 해당하는 판매 이익금의 평균을 구하는 샘플입니다. 버튼을 만들어서 클릭하는 순간 판매 이익금의 평균을 구할 것입니다.
▼ 먼저 버튼을 추가하기 위해 [개발 도구] 탭으로 갑니다. 삽입 리본 메뉴를 클릭하면 여러 컨트롤이 보이게 되는데 [양식 컨트롤]에 있는 버튼을 선택합니다.
▼ 선택한 버튼을 워크시트에 추가하기 위해서 마우스로 드래그 해 줍니다. 그럼 버튼의 크기가 결정되고 매크로 지정 대화상자가 뜹니다. 대화상자의 [매크로 이름]이 바로 VBA 함수 명이 됩니다. 직접 VBA 편집창에 들어가서 동일한 이름으로 함수를 만들면 버튼과 연결이 되는 것입니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하는 방법 ▶ 엑셀 Excel VBA 개발 도구를 이용해서 버튼 삽입하고 함수 연결하기 ▶ 엑셀 VBA 매크로 실행 버튼으로 코드 실행하기 ▶ 엑셀(Excel) 개발도구의 체크박스 컨트롤로 체크리스트 만들기 |
▼ 다음은 버튼을 클릭했을 때 실행될 함수를 만들어야 합니다. 그러려면 VBA 편집창을 열어야겠죠. [개발 도구] 탭 > [Visual Basic] 리본 메뉴를 클릭해서 편집창을 엽니다. 그리고 함수가 들어갈 Module1 파일을 찾습니다.
▼ 만약 모듈 파일이 없다면 추가해야 합니다. [삽입] > [모듈] 리본 메뉴를 클릭합니다.
▼ [매크로 지정] 대화상자에서 [새로 만들기]를 클릭하면 매크로 이름에 해당하는 함수가 생성됩니다. 만약 함수명이 없다면 그림처럼 직접 만들어야 합니다.
▼ 함수에 들어갈 내용은 다음과 같습니다. 워크시트의 수식 편집기에 입력했던 내용 그대로 실행할 것입니다. Formula 함수가 그 역할을 하게 됩니다. 그리고 Formula 함수를 호출하기 전에 영역이 선택되어야 합니다.
Sub 판매이익금_Click() Range("D17").Select ActiveCell.Formula = "=AVERAGEIFS(H3:H14,C3:C14,C3,D3:D14,D3)" End Sub |
▼ 준비가 되었다면 워크시트로 가서 버튼을 클릭합니다. 그럼 바로 판매 이익금이 구해 집니다. 이런식으로 버튼과 함수를 만들어서 연결하시면 됩니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하는 방법 ▶ 엑셀 Excel VBA 개발 도구를 이용해서 버튼 삽입하고 함수 연결하기 ▶ 엑셀 VBA 매크로 실행 버튼으로 코드 실행하기 ▶ 엑셀(Excel) 개발도구의 체크박스 컨트롤로 체크리스트 만들기 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA MsgBox 메시지 상자 표시 함수 사용하기 (0) | 2023.11.20 |
---|---|
엑셀 VBA 함수 Len 문자열의 길이 반환하기 (0) | 2023.11.18 |
엑셀 VBA 함수 Mid 문자열의 일부를 추출하기 (1) | 2023.11.18 |
엑셀(VBA) InputBox 함수 이용해서 입력값 받기 (0) | 2023.11.12 |
엑셀 VBA Select Case 문 사용해서 다중조건 처리하기 (0) | 2023.11.09 |
엑셀 VBA IF 지시 구문 사용하는 방법, IF … ELSEIF … ELSE … ENDIF (4) | 2023.09.20 |
엑셀 VBA 파일 다이얼로그 사용하기 (0) | 2023.09.17 |
엑셀 VBA 셀 영역 선택하는 여러가지 방법 (1) | 2023.09.06 |