[ 엑셀 매크로란? ]
* 엑셀에서 매크로를 활용하면 다양한 기능을 사용할 수 있다.
* 엑셀 매크로의 공식 명칭은 VBA(Visual Basic for Applications)이고 Microsoft Office에서 제공해 주는 프로그램의 명칭이다.
* '매크로'와 'VBA'는 동일한 개념이지만 프로그램 개발자 입장에서는 VBA라는 용어를 더 많이 사용한다.
* 엑셀 시트에서 수식을 작성하고 결과를 도출할 수 있지만, 복잡한 작업 수식이나 참조 정보가 많은 경우 엑셀에서 결과물이 나올 때까지 5초 이상을 기다려야 하는 경우가 발생한다.
* 이처럼 엑셀에서 자주 반복되는 작업을 자동화하기 위해 VBA로 매크로를 활용하면 빠른 처리결과를 얻을 수 있게된다.
* 엑셀에서 매크로를 사용하기 위해서는 저장 시 파일형식을 Excel매크로 사용 통합 문서(*. xlsm)로 지정해야 한다.
* 엑셀에서는 VB 편집기라는 개발도구를 제공해 주기 때문에 엑셀만 설치되어 있으면 매크로 사용에 필요한 프로그램을 곧바로 진행할 수 있다.
[ 엑셀에서 개발도구 활성화 방법 ]
* 엑셀에서는 Visual Basic 프로그램 통해서 프로그램을 개발한다. 이를 위한 Visual Basic 편집기를 기본적으로 제공하고 있다.
* Vissual Basic 편집기 메뉴 위치는 엑셀 \ 개발 도구 \ 코드 그룹 \ 'Visual Basic' 아이콘을 클릭(단축키 : Alt + F11)하면 호출된다.
* 만약, 엑셀에서 '개발 도구' 메뉴가 보이지 않을 경우 파일 -> 옵션 -> 리본 사용자 지정 -> 우측 리본 메뉴 사용자 지정에서 '개발 도구' 체크한 후 확인 하면 된다.
< 엑셀 메뉴 사용자 지정 방법 >
< 엑셀 메뉴에 '개발 도구' 추가된 상태 >
* 만약, 개발도구를 설정해도 매크로가 실행되지 않는 경우가 있는데 이는 매크로를 통한 악성코드 실행을 차단하기 위해서 "매크로 사용 안함"으로 설정해 둔 경우임으로 확인이 필요하다.
* 엑셀 \ 개발도구 \ 코드 그룹 \ '매크로 보안' 아이콘을 클릭하여 보안 설정을 확인 한다.
* '보안 센터' 팝업창의 '매크로 설정'에서 본인이 사용할 매크로 사용 범위에 따라 매크로 설정 한다.. “모든 매크로 제외(알림 표시)”이 설정되어 있으면 매크로가 실행되지 않는다.
[ 엑셀에서 시트명 변경 방지 방법 ]
* 엑셀에서 시트 이름 변경 방지하는 방법은 2가지가 있다.
1) 엑셀 메뉴에서 설정하는 방법
엑셀 -> 검토 -> 통합 문서 보호 버튼을 클릭 후 구조 및 창 보호 탭에서 암호를 걸어 놓으면 된다.
< 시트 이름 변경 방지된 상태 >
* 시트 이름 변경이 방지된 경우 '통합 문서 보호' 버튼이 선택되어 있고, 해당 시트에 마우스 우클릭하여도 '이름 바꾸기' 메뉴가 비활성화되어 있다.
* 시트 이름 변경 방지를 해제하려면 엑셀 -> 검토 -> 통합 문서 보호 버튼을 다시 클릭 후 지정된 암호를 입력해 주면 된다.
* 단점은 비밀번호를 잊어버리면 곤란한 상황이 생길 수 있고, 새로운 시트를 추가하는 것까지 차단되기 때문에 불편하다.
2) VBA에서 설정하는 방법
* 시트명을 VBA에서 강제로 지정하기 때문에 사용자가 시트명을 바꾸더라도 지정된 시트명으로 되돌아가게 할 수 있다.
* 원하는 시트명에서 마우스 우크릭 -> '코드 보기' 메뉴 클릭하면 VB 편집기가 실행되고 해당 시트명에 대한 스크립트 코드를 입력할 수 있는 상태가 된다.
* VB 편집기 상에서 해당 시트의 코드 입력창에 아래와 같이 스크립트 코드를 입력한 후 엑셀 화면으로 되돌아간다.
Private Sub worksheet_SelectionChange(ByVal Target As Excel.Range)
'Updateby Extendoffice
If ActiveSheet.Name <> "미니시트" Then
ActiveSheet.Name = "미니시트"
End If
End Sub
< VB편집기에 스크립트 코드 입력한 상태 >
< VB 편집기에서 스크립트 입력 후 엑셀 복귀 상태 >
* 이후부터는 엑셀에서 해당 시트명을 수작업으로 변경하더라도 VBA에서 지정된 시트명으로 되돌아간다.
[ 설치환경 ]
* Microsoft Office 설치 시 Access도 함께 설치한다.
* 참고 Site : https://blog.naver.com/n_job_life/222914027645
* ADODB : https://xlworks.net/using_database_in_excel_lec005/
* 엑셀의 Chart Object 구조는 아래와 같다.
[ 연결방법 ]
1) Access DB를 생성한다.
2) 엑셀에서 VBA 편집기를 연다.
- Alt + F11
- 도구 -> 참조 -> Microsoft ActiveX Data Object 6.1 Library 체크 후 확인
[ Access DB 필요성 ]
* 소량의 데이터는 엑셀로 처리해도 큰 문제는 없었으나 대량의 데이터가 필요한 경우 엑셀에는 한계가 있다.
* 엑셀과 가장 가까운 DB ACCESS를 이용해 대량 데이터 처리가 가능하다.
'VBA' 카테고리의 다른 글
[가계부 만들기-#4] DB 테이블 구조를 설계해보자... (0) | 2023.06.29 |
---|---|
[가계부 만들기-#3] 입력화면을 설계해보자... (0) | 2023.06.01 |
[가계부 만들기-#2] 요구사항을 정리해보자... (0) | 2023.06.01 |
[가계부 만들기-#1] 시작하며... (1) | 2023.05.25 |
[VBA] 여러 줄 주석처리 및 단축키 설정하기 (0) | 2023.03.07 |