[필기 풀이] 컴활1급 기출 2017년1회-29번 엑셀 VBA 매크로 프로시저
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
마늘빵.