2017년도 2회 컴퓨터활용능력 1급 필기 기출문제 27번을 풀이한 것이다.
엑셀 VBA 매크로에 관한 문제이다. 셀 선택과 서식 지정에 잘못된 명령을 찾아보자.
27. 다음 중 A열의 글꼴 서식을 '굵게'로 설정하는 매크로로 옳지 않은 것은?
① Range("A:A").Font.Bold = True
② Columns(1).Font.Bold = True
③ Range("1:1").Font.Bold = True
④ Columns("A").Font.Bold = True
풀이 :
엑셀 VBA 매크로를 이용하여 시트의 한 열에 서식을 지정하려한다. 무엇이 가장 먼저일까? 3초만 생각해 보라.
가장 먼저는 1열을 선택하는 VBA 코드로 셀 개체를 선택하는 것이다. 워크시트에서의 작업과 같다.
참고1 : 매크로 기록과 편집의 실행단계에 관해서는 다음 링크를 참조하자.
관련 링크 : [필기 풀이] 컴활2급 기출풀이 2016년1회-30번 엑셀 매크로 기초
엑셀 VBA 매크로 열 선택 서식 지정 풀이
하나의 열 전체에 굵게 속성을 지정해 보자.
[그림1] 엑셀 VBA 매크로 열 전체 서식 지정
1번) Range("A:A") 는 A열 선택
엑셀 VBA 매크로에서 Range 라는 코드는 셀, 행, 열, 선택범위 를 지정하는 워크시트(Worksheets) 개체에 따르는 속성이다. 이 Range 속성에 "A:A" 인수가 주어졌다. 이는 'A열부터 A열까지' 를 말한다. 곧, A열 전체를 지정하겠다는 것이다.
이렇게 선택된 Range 로 반환된 A열 개체에 글꼴 관련 속성인 Font 를 지정한다. 마지막으로, Font 속성의 하위인 Bold 속성을 True 로 설정하여 "A열 전체의 글꼴을 굵게로 표시하는 것이다"
Range("A:A").Font.Bold = True
열 선택과 굵게 지정을 위한 바른 VBA 매크로 구문이다.
관련 문제 : [필기 풀이] 컴활2급 기출문제 2006년1회-32번 엑셀 VBA 매크로
2번) Columns(1) 은 시트 1번째 열 선택
이번에는 열 선택을 위해 VBA 매크로에서 Columns 속성을 사용한다. 이 Columns 는 인수로 주어지는 열을 선택한다. 보기에서 주어진 인수, 1 이 의미하는 것은 시트의 1번째 열을 말한다. 즉, A열을 개체로 지정하고 그에 따른 속성을 지정하겠다는 것이다.
나머지 폰트 속성 설정( 개체.Font.Bold = True ) 은 1번) 보기와 같다. 그래서, "시트의 1번째 열의 글꼴을 Bold 로 표시하는 것이다"
Columns(1).Font.Bold = True
열 전체 선택이기에 가능한 VBA 매크로 구문이다.
참고2 : VBA 매크로 Columns 는 엑셀 함수 Columns 와는 용법이 비슷하지만 다르다.
3번) Range("1:1") 은 1행 선택
1번) 보기와 같은 Range 속성이다. 인수로는 "1:1" 이 전달되었다. 이는 '1행에서 1행까지' 를 의미한다. 시트의 1행 전체를 개체로 얻는 것이다. 굵게 서식을 지정하는 뒤의 Bold 속성 설정은 역시 같다. ( 개체.Font.Bold = True )
"시트의 1행 전체의 글꼴 속성에 '굵게' 를 추가 하라는 것이다" .
Range("1:1").Font.Bold = True
문제는 1열(A열) 전체에 대한 글꼴 변경이다. 그런데, 이번 VBA 구문은 1행을 선택 범위로 한다. 따라서, 이는 문제가 원하는 VBA 매크로가 아니다.
관련 문제 : [필기 풀이] 컴활1급 기출 2017년1회-29번 엑셀 VBA 매크로 프로시저
4번) Columns("A") 은 시트의 A열 선택
열 개체를 선택하는 속성 Columns 으로 "A" 라는 인수가 전달되었다. 이는 시트의 열머리글에서 A열을 말한다. A열 전체에 '굵게' 라는 글꼴 속성을 지정하는 것이다.
"A열 전체에 굵게 속성을 지정한다."
Columns("A").Font.Bold = True
참고로, Columns(1) 과 Columns("A") 는 워크시트 하위 속성일 때는 모두 동일하게 사용된다. 시트 1번째 열이 A열이기 때문이다.
관련 문제 : [필기 풀이] 컴활1급 기출 2017년1회-31번 엑셀 VBA 매크로 편집
참고3 : 개체.Font.Bold 의 속성값으로 False 가 주어지면, '굵게' 지정되었던 글꼴들은 '보통' 으로 바뀌게 된다. [그림1 마지막 주석]
이 엑셀 VBA 매크로 문제에서의 핵심은 셀 선택을 코드로 바르게 지정하는 것이다. 문제에서는 열 개체와 행 개체의 선택에 Range, Columns 속성이 사용되었다. 추가로 Cells, offset 속성도 매크로 개체 선택에 자주 사용된다.
관련 문제 : [필기 풀이] 컴활2급 기출 2016년3회-32번 엑셀 상대참조 매크로
정답 : 3번
이전 문제 :
[필기 풀이] 컴활1급 기출문제 2017년2회-26번 엑셀 분석형 차트
마늘빵.
'컴활 독학하기' 카테고리의 다른 글
[필기 풀이] 컴활1급 기출문제 2017년2회-29번 엑셀 셀 채우기 핸들 (0) | 2017.12.04 |
---|---|
[필기 풀이] 컴활1급 기출문제 2017년2회-28번 엑셀 오류 추적 단추 (0) | 2017.12.01 |
[필기 풀이] 컴활1급 기출문제 2017년2회-26번 엑셀 분석형 차트 (0) | 2017.11.24 |
[필기 풀이] 컴활1급 기출문제 2017년2회-25번 엑셀 고급 필터 (4) | 2017.11.22 |
[필기 풀이] 컴활1급 기출 2017년2회-24번 엑셀 중복된 항목 제거 (1) | 2017.11.20 |