-엑셀 실기 기타 작업의 마지막인 매크로와 프로시저 작성에 대해서 알아보자
매크로는 엑셀의 단순작업을 편하게 도와주는 기능으로써, 매크로를 기록하면 같은 작업을 손쉽게 반복할 수 있다.
엑셀 실기 문제에서 매크로는 이전에 해온 셀 서식이나 조건부 서식 등을 매크로로 기록하는 문제가 주로 출제된다.
-매크로 만들기
우선 간단하게 매크로를 이용하여 특정 범위의 셀에 서식을 적용시키는 매크로와 매크로를 실행할 버튼을 만들어보자.
해당 테이블에 등락률을 양수면 파란색으로, 음수면 기호 없는 빨간색으로, 0이라면 '●'문자가 출력되도록 매크로를 작성하고자 한다.
또한 컨트롤을 버튼 유형으로 만들어 버튼을 누르면 매크로를 실행하고자 한다.
매크로는 일단 개발 도구에서 삽입-단추를 눌러 매크로를 적용할 단추를 만들어보자.
개발 도구가 뜨지 않는다면 옵션에서 리본 사용자 지정 탭을 클릭하여 추가할 수 있다.
삽입을 눌러 양식 컨트롤의 버튼을 선택한다.
버튼을 알맞은 크기로 만들었으면 다음의 창이 뜰 것이다.
매크로의 이름을 정하고 기록 버튼을 누른다음, 확인을 눌러서 기록을 시작한다.
기록은 임의로 중지할 수 있다.
등락률의 범위를 지정 후 셀 서식바로가기키인 ctrl+1을 눌러서 셀 서식 대화 상자를 띄운다.
그다음 문제에 맞게 셀 서식을 지정한다.
확인을 누르면 아래와 같이 서식이 적용되며, 매크로 기록 중지 버튼을 눌러서 매크로를 완성시킨다.
만들어진 단추는 오른클릭으로 텍스트를 원하는 이름으로 변경시켜 주면 매크로가 적용된 버튼은 완성된다.
서식을 전부 지운다음, 매크로 버튼을 누르면 서식이 다시 적용되는 것을 확인할 수 있다.
이것 말고도 시나리오나 데이터 통합 등 분석작업과 매크로가 함께 나오기도 한다.
컨트롤을 생성하고 매크로를 기록하기만 하면 해결할 수 있기 때문에 너무 어렵게 생각하지 않도록 하자.
-프로시저 작성
프로시저는 쉽게 말해서 엑셀의 기능을 이용한 코딩이다. 매크로를 VBA를 이용하여, 직접 작성하여 위의 예시보다 더욱 복잡하고 어려운 작업이 가능하다.
코딩의 특성상 완벽하게 숙달되려면 많은 시간이 필요하기 때문에, 완벽하게 이해한다면 좋겠지만
우선 프로시저를 예제에 따라서 작성해보자.
일단 자주나오는 IF문이나 CASE문은 작성방법을 외우는 것이 좋다. 사용자 지정 함수에도 주로 사용되는 문법이다.
필기에서 공부했던 모듈, 프로시저, 개체, 속성, 매서드, 이벤트 같은 용어는 미리 알고 있다고 가정하고, 시작해보도록 하자.
우선 개발 도구의 Visual Basic를 선택하여, 아래와 같은 모듈을 입력할 창을 띄우거나, 개발 도구의 컨트롤에 있는 디자인 모드를 클릭하여, 컨트롤을 눌러서 아래의 창으로 들어갈 수도 있다.
실기 책에 있는 예제는 현재 폼과 컨트롤을 만들어 놓은 것을 확인 할 수 있다.
이제 문제에 맞춰 하나하나 프로시저 작성을 시작해보자.
1. 컨트롤 버튼 판매입력을 클릭하면, 판매자료입력이 가능한 미리 만들어진 폼을 띄워보자
이벤트를 클릭으로 설정 후, 위와 같이 띄울 폼의 이름. show를 작성하면,
판매입력이라는 이름의 컨트롤을 클릭하면 판매자료 입력을 보여준다.
위의 창을 띄워준다. 판매일자와, 제품 목록 등이 비어있는데 이를 채워보자.
다음은 제품목록과 결재 형태를 선택할 수 있도록 데이터를 넣어보자.
아래와 같이 폼이 실행되었을때, 미리 엑셀에 적혀있는 데이터를 연결하려면 다음과 같이 작성한다.
판매일자에 오늘의 날짜를 띄우고, 제품 목록에는 엑셀의 데이터를 띄우며, 결재 형태에 현금과 카드, 어음을 추가한다.
다음으로는 제품명과 수량, 단가의 데이터를 채우도록 설정해보았다.
프로시저를 이용하여 값을 정해준 판매일자와 제품목록, 결재 형태와는 다르게 나머지 데이터는 사람이 직접 입력할 수 있도록 해볼 것이다. 아래와 같이 프로시저를 작성해보았다.
폼의 등록버튼을 누르면, 폼에 입력한 자료가 워크시트에 나타나도록 작성한다.
IF문을 사용하여 작성한 프로시저는 만약 제품명과 수량 단가를 직접 적지 않으면 Msgbox에 입력한 값이 반환되도록 설정하였다. 또한, 결재형태도 위에서 정한 현금, 카드, 어음 등에서 선택하지 않으면 "결재 형태를 입력하시오"문자가 반환되도록 설정하였다.
Cells(행, 열)에 입력한 데이터가 차례대로 위치하도록 하고, 마지막으로 등록 단추를 클릭하여 등록하고 나면 기존에 입력한 값이 사라지도록 Value를 빈 값으로 설정하였다.
다음으로는 폼의 조회버튼을 누르면 워크시트의 자료를 폼에 표시하도록 한다.
아래와 같이 작성한다.
다음으로 폼의 종료버튼을 누르면 판매자료입력창이 종료되도록 한다.
아래와 같이 작성한다.
다음으로 change이벤트를 사용한다. 현재 작업하고 있는 워크시트에 변화가 있는 셀의 글꼴과 크기를 변경하려면 다음과 같이 작성한다.
아니면 With target~End with를 이용하여 한꺼번에 속성을 지정할 수도 있다.
마지막으로 워크시트가 재활성화 되었을 때 b1셀에 컴활 합격이라는 글자가 뜨도록 작성해본다.
아래와 같이 작성한다.
프로시저를 작성하여 폼에 내용과 버튼의 기능을 설정하였다.
등록 버튼과 조회버튼 종료 버튼이 잘 작동하는지도 확인하였다.
또한 폰트도 14포인트의 바탕체로 작셩되는것을 확인하였다.
이렇게 엑셀의 매크로와 프로시저 작성을 마지막으로 엑셀 실기를 마치겠다.
프로시저는 위의 예제 말고도 다른 문법도 암기해야 하므로 추가로 공부하도록 한다.
'컴활1급 실기 공부' 카테고리의 다른 글
20강. 컴활1급 실기 엑셀-차트 (0) | 2021.06.26 |
---|---|
19강. 컴활1급 실기 엑셀-데이터 표와 데이터 통합, 시나리오와 목표값 찾기 (0) | 2021.06.23 |
18강. 컴활1급 실기 엑셀-피벗 테이블 (0) | 2021.06.22 |
17강. 컴활1급 실기 엑셀-부분합과 정렬 (0) | 2021.06.21 |
16강. 컴활1급 실기 엑셀-데이터 유효성 검사 (0) | 2021.06.20 |