레이블이 Excel인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Excel인 게시물을 표시합니다. 모든 게시물 표시

[Excel Tip-07] VBA를 알아보자!!

엑셀을 사용하면서 '이런 기능들은 없을까?'와 같은 생각에 검색들을 해보면,
응용하는 방법을 몰랐을 뿐이지 참으로 다양한 함수들과 기능들을 많아 한번씩 놀라곤 한다.
그런데, 엑셀이 분명 유용한 도구임은 확실하지만, 어디까지나 도구일 뿐이지 메인이 될 순 없다는 생각이 들다보니,
자연스레 눈이 VBA를 향하게 되었다.
엑셀이 가진 그 수많은 기능들을 다 기억하지 못한다면... 그냥 내가 만들어 쓰지 뭐. ㅎㅎ

1. VBA는 무엇인가?

그 자체로도 풍요로운 기능을 제공하는 엑셀을 더 혜자스러운 도구로 변신하게 만들어주는 숨겨진 보물인 VBA.
무엇을 할 수 있고 어떤 혜자스러움을 품고 있는지 알아보기 전에 VBA란 무엇인가를 먼저 살펴보자.

Visual Basic for Application의 머리 글자를 따서 VBA라고 이름을 붙였단다.
다시 말해, 특정 어플리케이션을 위한 비쥬얼 베이직이고, MS에서 윈도우용 VB를 출시한 만큼
Office 제품군 (그러니까, 파워포인트나 엑셀, 워드... 이런 친구들)에 어느 순간부터 VBA를 넣기 시작했다.

아무래도, 비쥬얼 베이직은 너무너무 잘 알려진 프로그래밍 언어이고,
특정 어플리케이션의 활용을 돕기 위해 이런 프로그래밍 도구가 엑셀을 포함한 오피스 제품군에 포함되어 있는 만큼
잘 활용만 한다면 손가락 하나만 까딱해도 데이터가 착!착! 처리되는 진귀한 경험을 할 수 있다.
(물론 잘~ 활용해야지... ㅎㅎ)

그럼 그렇게 잘난 친구가 어떻게 생겼고, 엑셀의 어디에 숨어있었는지부터 찾아봐야한다.

VBA Editor는 엑셀 메뉴 중 '개발 도구' 안에 있다.
그림에서 보는 것처럼 '개발 도구' 메뉴를 클릭하면 제일 왼쪽에 비쥬얼 베이직 에디터를 여는 버튼이 나온다.

만약 위 그림처럼 '개발 도구'가 안보인다면, 엑셀의 옵션에 가서 활성화시킬 수 있다.

이도 저도 귀찮다면, 단축키 (Alt + F11)를 눌러서 에디터를 열 수도 있다.


2. VBA의 간단한 예제

이제 VBA 에디터도 열었으니, 간단한 예제를 한번 만들어보자.
간단한 예제라면 누가 뭐라 해도, 'Hello, World!' 만한게 있을까? ㅎㅎ
(만성 창의력 제로인 내가 새로운 것을 할리는 없지...)

VBA의 프로그래밍 구조는 천천히 하나씩 뜯어보기로 하고,
간단한 예제이니만큼, 그냥 한번 만들어보자.

먼저, Sheet1을 마우스 오른쪽 클릭해서, 모듈을 하나 추가하자.

추가된 Module1에 아래의 코드를 똑같이 입력하자.
1
2
3
4
Sub mySubRoutine()
    Sheet1.Range("A1").Value = "Hello, World!"
End Sub
cs

엑셀로 돌아가서 매크로를 실행시켜보면 (단축기 Alt + F8), Sheet1의 A1 셀에 Hello, World!가 찍힌다. ㅎㅎㅎ



spacer

[Excel Tip-06] 조건부 서식을 활용하자!

엑셀은우리가 몰라서 사용을 못하는 것 뿐이지 데이터를 표시하고 취합하며 연산하는데 단연 최고라고 할 수 있다.
이번에는 장황하게 나열된 데이터를 보다 직관적으로 볼 수 있는 유용한 팁!!
함께 알아보자.


조건부 서식 활용하기

다음과 같은 엑셀 문서가 있을 때,

품목별로 단가와 수량, 그리고 할인율이 적용되어 일목 요연하게 금액을 표시하는데 부족함이 없다.
그런데, 약간의 상상을 더해서 위의 예제가 수 많은 물품들의 월간 매입량을 나타내는 표라고 가정하자.
엄청나게 많이 표시되고 있는 데이터 중에서 특정 조건에 해당되는 항목들이 다른 셀들과 다르게 표시된다면,
주어진 데이터를 읽어보는데 충분히 큰 도움이 될 것이다.

조건부 서식이 여기서 큰 도움이 될 수 있다.
(단축키는 Alt + O, D)

합계가 50,000 이상이 되는 셀의 숫자를 빨간색, 굵게 표시해보자.
그러기 위해서는 먼저 조건부 서식을 지정할 셀들을 선택해주고, 단축키를 통해 조건부 서식 창을 활성화시켜서, '새 규칙'을 클릭한다.

표시되는 새 규칙 창에서 '다음을 포함하는 셀만 서식 지정'을 클릭하고, 아래의 조건을 작성한 다음 '서식' 버튼을 클릭한다.

조건에 맞는 셀을 표시할 글꼴을 지정한 다음,

미리 보기 창을 통해 반영하고자 하는 글꼴이 제대로 되었는지 다시 한 번 확인하고,
 
확인을 누른다.

다시 한번 확인을 눌러서 조건부 서식 설정을 완료한다.

이렇게 해서 특정 조건에 따라 셀의 표시를 지정하였다. ㅎㅎ


조건부 서식의 응용

다음과 같은 엑셀 문서가 있을 때,

왠지 Item01부터 Item07까지의 표가 심심한 느낌이 든다. (아님 말고... ㅎㅎㅎ)
항목마다 번갈아가면서 셀의 채우기 색상을 두어 심심함을 없애고자 한다.
이 때도 '조건부 서식'은 유용하게 활용될 수 있다.
셀들을 선택한다음 조건부 서식 창을 열고 새 규칙을 선택한다.
이번에는 규칙 유형으로 '수식을 사용하여 서식을 지정할 셀 결정'을 선택하고 수식 부분에 다음과 같이 입력한다.

여기서 MOD 함수는 앞의 숫자를 뒤의 숫자로 나눈 나머지를 구할 때 사용하는 함수이고,
ROW 함수는 현재의 행 번호를 반환하는 함수이다.
다시 말해, 위의 수식은 짝수 행들을 의미한다.
그리고나서 서식을 지정한 다음 확인!!

짝수 행의 셀이 연한 연두색으로 채워진 것을 확인할 수 있다. ㅎㅎ



spacer

[Excel Tip-05] 드롭다운리스트 나타내기!

엑셀을 이용하여 종종 데이터를 취합하는데 사용하기도 한다.
다시 말해, 특정한 포맷의 엑셀 파일을 만들고 관계자들로 하여금 데이터를 채우도록 하기도 하는데, 
이럴 때 활용할 수 있는 엑셀의 유용한 팁!!
함께 알아보자.


드롭다운리스트 나타내기


사람마다 사용하는 단어가 다르고 표현하는 방법이 다르다보니
일괄적으로 취합하여 데이터를 가공하는데 간혹 애로사항이 발생하는 경우도 많다.
셀에 직접 입력하는 방식이 아닌 목록을 만들어서 선택하도록 유도한다면,
이런 다름에 의해 생기는 문제를 많이 줄일 수 있다.

아래의 엑셀 시트를 살펴보자.

'품목'란에 있는 아이템들을 사용자가 직접 입력하는 것이 아니라 드롭다운 목록을 통해 선택할 수 있도록 만들어보자.
그러기 위해서는 먼저 참조가 되는 리스트를 작성해야 한다.

표의 왼쪽 편으로 열을 삽입하고, 거기에 리스트를 작성하자.
작성된 리스트를 품목 열에 드롭다운 목록으로 추가하기 위해서는 '유효성 검사' 기능을 사용한다.
(단축키는 Alt + A, V, V)

먼저, 유효성 검사를 적용할 셀들을 선택한다.
이 때, Shift키를 누른채로 화살표 키를 누르면 다중 선택이 되므로 영역을 지정하기 쉽다.
(참고로, Ctrl키를 누른채 화살표를 누르면 연속된 데이터 셀의 마지막 (또는 처음)으로 한번에 이동하니 헷갈리지 마시길... ㅎㅎ)

셀들을 선택한 후 '유효성 검사' 창을 연다.

그리고, 제한 대상을 '목록'으로 변경한 다음, 오른쪽의 '드롭다운 표시'를 체크한다.
끝으로, 목록의 항목들에 해당하는 참조 셀들을 지정해주면 된다.

여기까지 설정을 마쳤다면, 유효성 검사를 적용한 셀로 가서 오른쪽에 표시되는 버튼을 클릭해보자.
드롭다운 목록에 표시되는 것을 확인할 수 있다. ㅎㅎ

응용
- 목록에 추가될 항목들은 꼭 예제와 같이 별도의 셀에 지정하지 않고, 직접 '원본' 란에 작성하여도 된다.
  (콤마를 통해 항목들을 구분한다.)



spacer

[Excel Tip-04] 열 너비 (or 행 높이) 수정하기!

이번에는 열의 너비나 행의 높이를 재빠르게 수정하는 유용한 팁!!
함께 알아보자.


1. 열 너비 (or 행 높이) 지정하기


다음과 같은 엑셀 문서가 있을 때,

표의 제일 위쪽 부분을 약간 강조하기 위해 행의 높이를 다른 셀보다 약간 높게 가져가고자 할 때,
역시나 가장 먼저 쳐다보게 되는 것은 마우스일 것이다.

이럴 때 사용하는 단축키는 Alt + O, R, E (열 너비의 경우 Alt + O, C, W) 이다.
행 높이를 변경하고자 하는 셀에 가서 단축키를 눌러보자.

행 높이를 변경하는 창이 하나 나타난다. (현재 행 높이는 15.75 이다.)
여기서 변경하고자 하는 값을 입력하고 '확인' 버튼을 클릭하면 행 높이가 변경된다.

< 행 높이로 25를 입력하였다. >


2. 열 너비 (or 행 높이)를 자동으로 맞추기


방금 전의 예제에서 이번에는 변경된 행 높이를 자동으로 맞춰보자.
당연히 왼쪽의 행 번호 2와 3 사이의 경계선으로 마우스 포인터를 이동하여 더블 클릭을 할 것이다.
이것 또한 단축키가 있었으니, 바로 Alt + O, R, A (열의 경우 Alt + O, C, W)이다.

행 높이를 자동 맞춤하려는 셀로 이동하여 단축키를 눌러보자.

순식간에 행 높이가 자동으로 맞춰지는 것을 확인할 수 있다.

응용
- 열 너비나 행 높이를 변경할 때 엑셀 시트의 위쪽 또는 왼쪽을 눌러 변경하고자 하는 열 전체나 행 전체
  선택하지 않아도 변경이 가능하다. 
- 만약 여러 열의 너비나 행의 높이를 변경할때는 Ctrl + 클릭 등을 이용하여 셀을 다중 선택한 다음 변경
  시킬 수도 있다.




spacer

[Excel Tip-03] 열 삽입! 행 삽입!! (Feat. 열 삭제, 행 삭제)

셀 형태로 구분된 엑셀은 데이터 취합이나 해야할 업무를 리스트로 만드는데 상당히 유용한 프로그램이다.
그렇게 리스트로 작성하여 데이터를 관리하다보면 정형화된 틀을 깨트리지 않은 채로
항목을 추가 또는 삭제해야 하는 경우가 종종 발생하는데,
이럴 때 업무 속도를 올려주는 유용한 팁!!
함께 알아보자.


1. 열 (or 행) 삽입하기


다음과 같은 엑셀 문서가 있을 때,

각 품목별로 할인율을 적용할 수 있도록 '수량'과 '합계' 열 사이에 '할인율'이라는 항목을 추가한다고 가정하자.
그러기 위해서는 두 열 사이에 새로운 열을 추가해야 한다.
가장 흔히 사용하는 방법은 역시나 마우스를 이용한 방법!!

하지만, 마우스를 쓰지 않고도 쉽게 열 (or 행)을 삽입하는 방법이 있었으니,
그건 바로 단축키 Alt + I, C (열의 경우 Alt + I, R)이 되겠다.

삽입하고자 하는 셀에 가서 단축키를 입력하면,

이렇게 바로 열이 삽입된다.

그러고나서 이렇게  문서를 완성하면 된다.


2. 열 (or 행) 삭제하기


이번에는 Item04의 행 전체를 삭제해보자.
역시나 행 전체 삭제를 위해 자연스레 마우스로 손이 갈 것이다.

마우스를 쓰지 않고 행 전체를 삭제할 때 사용하는 단축키는
Alt + E , D, R, Enter (열의 경우 Alt + E, D, C, Enter) 이다.

삭제하고자 하는 셀에 가서 단축키를 누르면,

이렇게 행이 바로 삭제된다.



spacer

[Excel Tip-02] 선택하여 붙여넣기

일을 하면서 프로그래밍 개발 툴만큼이나 빈번하게 열어서 활용하는 프로그램 중 하나가 엑셀이다.
정말이지 알면 알수록 대단한 프로그램이라는 생각과 함께 이런 대단한 프로그램을 개발한 개발자들이 존경스럽다는 생각도 하게 된다.
오늘도 엑셀의 뉴비스러움을 벗어나보자는 취지에서 팁을 하나 더 끄적여볼까 한다.
역시나 함께 알아보자. ㅎㅎㅎ


1. 수식 표시하기


다음과 같은 엑셀 문서가 있을 때,
누가봐도 각 품목별 단가와 수량을 곱해서 합계를 내놓은 문서이고,
누가봐도 어디가 데이터이고 어디가 수식인지, 그리고 어떤 식이 사용되었을지 뻔히 추측이 가능한 문서이지만,
오늘의 뉴비스러움을 탈출하기 위한 팁의 설명으로 이 문서를 사용할 것이다. ㅎㅎ

엑셀 문서를 보면 수식이 적용되어 연산까지 끝낸 결과를 나에게 보여주고 있다.
당연히 단가나 수량을 수정하면 거기에 연관된 수식 결과가 자동으로 반영되어 표시될 것이다.
그런데, 저 간단한 예제에 약간의 상상력을 더해서 꼬리에 꼬리를 물고 수식들이 반영된 엑셀 시트를 마주하게 되었다고 가정해보자.
그렇다면, 어떤 수식이 어떤 셀을 참조하게 되는지를 하나하나 셀을 선택하며 함수창을 통해 확인할 수 밖에 없다.

이 때 사용할 수 있는 유용한 기능이 바로 '수식 표시하기' 기능이다. (°ロ°) !

< 수식이 반영된 셀들이 모두 값 표시에서 수식 표시로 바뀌었다!! >


2. 선택하여 붙여넣기


아주아주 간단한 예제이지만 복잡한 데이터를 다루는 엑셀 시트라 가정하고,
입력한 데이터를 바탕으로 연산 수행 결과를 다른 엑셀 시트에서 활용하기 위해 복.붙을 했을 때,

보는 거와 같이 아주 깔끔하게 잘 붙었다. ㅎㅎ

그런데, 위에서 이야기했던 '수식 표시하기' 기능을 사용하면 어떻게 될까?

수식까지 함께 따라온 것을 확인할 수 있다.

나는 연산된 결과만 깔끔하게 가져와서 이용하고 싶은건데, 어떻게 하면 될까??
여기에 유용한 기능이 바로 '선택하여 붙여넣기' 이다.

다시 처음으로 돌려 놓고 복.붙하려는 영역을 Ctrl + C로 복사하자.
그리고, 붙여넣기 위치로 이동한 다음 'Ctrl + Alt + V'를 눌러보자.


선택하여 붙여넣기 라는 창이 나타나면서 나에게 어떻게 붙여 넣을 것인지를 물어본다.
여기서 ''을 선택한 다음 아래 부분의 '확인' 버튼을 클릭하자.

깔끔하게 값만 가져온 것을 확인할 수 있다. ㅎㅎ



spacer