안녕하세요. yyDandy 입니다.
1. VBA 기초
1.1 환경설정
오늘은 엑셀 매크로 & VBA 기초에 대해 알려드릴게요 ! 실무에서 쓰일 수 있는 내용들부터 자동화를 통한 업무의 효율성을 높일 수 있는 부분까지 다룰 예정입니다 ! 이번 편에서는 가장 시스템 세팅이 주가 될 거 같아요 매크로 및 VBA 사용을 위해서는 먼저 개발도구를 활성화 시켜 볼게요.
[파일] 탭에서 [옵션]을 클릭하신 후 [리본 사용자 지정]에서 개발도구를 찾아 V 표시를 눌러주세요.
아니면 [리본 메뉴] 탭에서 마우스 오른 쪽을 클릭하신 후 [리본 메뉴 사용자 지정]으로 바로 들어갈 수 있어요.
다음으로는 매크로를 사용할 수 있는 파일로 저장을 해야하는데요.
[저장] 탭에서 [파일형식]을 [Excel 매크로 사용 통합문서]로 설정해주시면 되겠습니다.
또는 확장자명을 [*xlsm]으로 설정해주셔도 됩니다.
다음으로는 [보안 경고]인데요. 매크로 포함된 파일을 사용할 때 해당 경고가 표시될 수 있습니다.
그럴 때는 [콘텐츠 사용]을 눌러주시면 문제를 해결할 수 있어요. 만약에 해당 누르지 못했다면
[파일] 탭에서 [정보] 를 클릭하신 후 [콘텐츠 사용]을 클릭, [모든 콘텐츠 사용]으로 설정해주시면 되겠습니다.
이렇게 하시면 세팅이 끝이 납니다!
1.2 매크로란?
엑셀에서 VBA를 배우기 위해서는 매크로에 대해 알아야 하는데요. 게임에서 자동사냥하는 프로그램 같은 걸 보면서 매크로다! 하는 경험이 있으신가요? 그거랑 비슷한데요.
매크로
흔히 쓰이는 의미로는 자주 사용하는 여러 개의 명령어를 묶어서 하나의 키 입력 동작으로 만든 것을 말한다. 복잡하거나 반복되는 작업을 단순화하거나 자동화 하기 위한 목적으로 주로 이용한다. 어셈블리 언어에서도 많이 사용되며, 마이크로소프트 엑셀 등의 스프레드시트 도 매크로를 지원하는 등 다양한 플랫폼에서 활용된다. 반복 작업을 간단하게 수행하기 위한 목적뿐만 아니라 문서 안의 같은 문자열을 한꺼번에 변경 할 때도 사용된다.
이 말처럼 결국 작업을 단순화, 자동화 하는게 포인트에요. 한가지 예시를 보여드릴게요.
왼쪽 날짜를 년/월/일으로 각각 분리를 하고 싶은 상황이에요. 가장 간단하게 할 수 있는 생각은 직접 입력하는 방식이에요. 년에는 2023을 적고 월에는 1을 적고 일은 각각 1 2 3 4로 적는 방법이에요. 하지만 이건 너무 유치한 생각이죠 !
그래서 오른쪽 처럼 함수를 이용해보기로 했어요. 당연히 Year, Month, Day 함수를 이용해서 했는데 #VALUE! 라는 오류가 발생하고 말았어요. 그 이유로는 날짜에 있는 각 항목의 데이터 형식이 날짜가 아니기 때문이에요. 엑셀에서 날짜는 하이픈(-)으로 연결이 되어야 하나 저기는 포인트(.)로 되어 있죠.
그래서 문제를 해결하기로 했어요! 바로 Ctrl + F에서 찾기 및 바꾸기 기능을 이용하는 것인데요. 여기서 포인트(.)를 하이픈(-)으로 바꾸게 된다면 오류는 쉽게 해결이 되겠죠?
그런데 여기서 매번 Ctrl + F에서 바꾸고 하기엔 귀찮을 수도 있잖아요? 아 버튼 한 번만 누르면 할 수 없을까? 라고 생각하게 되는 거에요. 이게 바로 단순화, 자동화라고 할 수 있겠고, 여기에 매크로라는 기능을 적용할 수 있겠죠?
간단하게 설명해드리면 C4 셀을 클릭해서 맨 아래까지 선택한 후 .를 -로 바꾼다는 명령어 인데요. 이렇게 바로바로 쓸 수 있으면 좋겠지만, 우리는 초보잖아요? 당연히 이런 건 힘듭니다..! 그럴 때는 이렇게 해보세요.
엑셀 좌측 하단에 달력 표시가 있어요. 이게 바로 매크로 기록이라는 버튼인데요. 해당 버튼을 클릭한 후 원하는 작업을 한 후 한 번 더 누르면 작업 하는동안 있었던 일을 기록해줘요. 사실 저 위의 매크로2 예시 역시 제가 직접 만든 게 아닌 이런 방식으로 손 쉽게 만들었답니다. 만들었으면 어떻게 활용하느냐.
이렇게 아무 도형이나 만들어서 마우스 우클릭 후 [매크로 지정]을 눌러서 해당 매크로를 선택해주시면 앞으로는 이 도형을 누르게 되면 자동으로 바꾸기가 실행되는 거에요. 간단하죠? 이런 방법을 통해 매크로 소스 코드를 얻을 수 있구요. 활용 방법은 무궁무진 하겠죠? 다음 시간에는 매크로를 통한 손 쉬운 코드부터 시작해서 여러 가지 알려드릴게요 !
'지난 게시글' 카테고리의 다른 글
[VBA] 엑셀 매크로 & VBA 기초(원하는 영역 복사, 참조와 복사) (6) | 2023.02.22 |
---|---|
[VBA] 엑셀 매크로 & VBA 기초(특정 셀 복사, 특정 값 넣기) (4) | 2023.02.22 |
[군대] 공군 장교 자대 배치, 독신자 숙소(BOQ), 근무 환경 (0) | 2023.02.19 |
[군대] 공군 장교 특기 교육 - 행정학교 소개 (12) | 2023.02.18 |
[군대] #9 공군 학사장교 후보생 (특기분류, 충성주, 임관식) (2) | 2023.02.16 |