2017년도 1회 컴퓨터활용능력 1급 필기 기출문제 29번을 풀이한 것이다.
엑셀 VBA 매크로 프로시저를 묻는 문제이다. 컴활2급보다는 한층 단계가 높은 매크로 문제이다. 함께 풀어보자.
29. 아래의 프로시저를 이용하여 [A1:C3] 영역의 서식만 지우려고 한다. 다음 중 괄호 안에 들어갈 코드로 옳은 것은?
① DeleteFormats ② FreeFormats
③ ClearFormats ④ DeactivateFormats
풀이 :
엑셀 VBA( Visual Basic for Aplication )로 매크로를 작성하는 문제이다. 위 문제 보기의 괄호에 적합한 명령코드가 무엇일까?
엑셀 VBA 프로시저 단계별 분석
작성된 보기의 VBA 프로시저를 행별로 풀어본다.
[그림1] 엑셀 범위 서식 지우기 VBA 매크로 프로시저
1행: Sub Procedure( )
Sub 는 프로시저의 시작을 의미하는 명령코드. 'Procedure' 라는 이름으로 서브루틴( Subroutine )을 작성. 'Procedure' 가 매크로명이 된다. 이런 단계별 부분 프로그램 절차를 프로시저라 부르기도 한다.
[필기 풀이] 컴활2급 기출문제 2016년2회-24번 엑셀 매크로 보기 :
http://secstart.tistory.com/875
2행: Range( "A1:C3" ).Select
코드 구문 : Range( Cell1, [Cell2] ) As Range
인수로 전달된 하나 이상의 단일 셀 주소나 범위를 VBA의 개체로 반환한다. 이후의 '.Select' 는 '선택하다' 를 말하는 메소드 명령이다. 즉, 범위인수로 전달된 'A1:C3' 범위를 선택하여 개체로 반환하는 것이다.
엑셀 시트 작업으로 본다면, 이 명령행은 A1:C3 범위를 마우스 드래그로 선택한 것이다.
[필기 풀이] 컴활2급 기출 2016년3회-32번 엑셀 상대참조 매크로 :
http://secstart.tistory.com/856
3행: Selection.ClearFormats
Selection 은 2행의 코드로 선택된 시트 범위를 말한다. 이후의 '.ClearFormats' 메소드는 서식만을 지우는 코드이다. 따라서, 선택 범위인 A1:C3 셀의 서식만 지워지고 셀 내용은 그대로 유지된다.
4행: End Sub
1행에서 시작된 서브루틴을 종료하여, 'Procedure' 란 이름의 프로시저를 완료한다.
엑셀 VBA 프로시저 문제 풀이
1번) 2번) 4번) 은 엑셀이 지원하지 않는 메소드( 명령어 )이다. 존재하지 않는다는 것이다.
3번) ClearFormats
이는 선택된 개체( 셀, 범위, 시트등 )에서 설정된 서식만을 지우는 VBA 메소드( 명령어 )이다.
이 메소드를 포함한 위의 VBA 코드로 매크로를 작성해서 실행해 보자. A1:C3 의 서식은 모두 지워지고 셀 내용만이 남을 것이다.
[그림2] 엑셀 셀 서식을 지우는 VBA 매크로 프로시저 실행
.ClearFormats 과 비슷한 메소드로는 셀 내용과 서식을 모두 지우는 .Clear , 셀 내용만을 지우는 .ClearContents , 셀에 포함된 메모를 지우는 .ClearComments 등이 있다. 리본 메뉴 > 홈 탭 > 편집 그룹 > 지우기 의 하위 메뉴들과 같은 기능을 하는 명령들이다.
한가지를 추가로 참고하면 매크로 실행으로 변경된 내용은 취소가 되지 않는다는 것도 기억하자.
[필기 풀이] 컴활2급 기출문제 2006년1회-32번 엑셀 VBA 매크로 :
http://secstart.tistory.com/799
엑셀 VBA 는 스크립트이지만 프로그래밍 언어이다. 처음 접하는 사용자는 괜한 어려움이 느껴질 수 있다. 천천히 가볍게 생각하면서 다가간다면 이런 문제들도 시험장에서는 너무도 쉬운 문제가 될 것이다. 열공하시길..
관련 매크로 게시물 :
[필기 풀이] 컴활2급 기출문제 2006년2회-31번 엑셀 매크로 설명 :
http://secstart.tistory.com/828
[필기 풀이] 컴활2급 기출문제 2006년1회-27번 엑셀 매크로 기록 :
http://secstart.tistory.com/790
정답 : 3번
[필기 풀이] 컴활1급 기출문제 2017년1회-28번 엑셀 입력 완료키 :
http://secstart.tistory.com/934
마늘빵.
'컴활 독학하기' 카테고리의 다른 글
[필기 풀이] 컴활1급 기출 2017년1회-31번 엑셀 VBA 매크로 편집 (0) | 2017.08.07 |
---|---|
[필기 풀이] 컴활1급 기출풀이 2017년1회-30번 엑셀 찾기 및 바꾸기 (0) | 2017.08.02 |
[필기 풀이] 컴활1급 기출문제 2017년1회-28번 엑셀 입력 완료키 (0) | 2017.07.28 |
[필기 풀이] 컴활1급 기출문제 2017년1회-27번 엑셀 3차원 차트 (0) | 2017.07.24 |
[필기 풀이] 컴활1급 기출문제 2017년1회-26번 엑셀 데이터 정렬 (0) | 2017.07.21 |