티스토리 뷰

2017년도 1회 컴퓨터활용능력 1급 필기 기출문제 29번을 풀이한 것이다. 

엑셀 VBA 매크로 프로시저를 묻는 문제이다. 컴활2급보다는 한층 단계가 높은 매크로 문제이다. 함께 풀어보자.


29. 아래의 프로시저를 이용하여 [A1:C3] 영역의 서식만 지우려고 한다. 다음 중 괄호 안에 들어갈 코드로 옳은 것은?


[그림0] 엑셀 VBA 매크로 프로시저 코드 완성 문제

 

① DeleteFormats ② FreeFormats

ClearFormats ④ DeactivateFormats


풀이 :


엑셀 VBA( Visual Basic for Aplication )로 매크로를 작성하는 문제이다. 위 문제 보기의 괄호에 적합한 명령코드가 무엇일까?


엑셀 VBA 프로시저 단계별 분석


작성된 보기의 VBA 프로시저를 행별로 풀어본다.


[그림1] 엑셀 범위 서식 지우기 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 매크로 프로시저 실행[그림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


마늘빵.

댓글