엑셀 VBA 특정 날짜 이후 비밀번호 박스 출력 삭제

엑셀의 VBA를 이용하여 특정 날짜까지만 엑셀 문서를 사용할 수 있고 그 이후에는 메시지 박스를 띄워 사용기간이 지났으니, 비밀번호를 입력하여야 사용이 가능하고 만약 비밀번호가 틀리면 지정한 셀 영역의 모든 데이터를 지우게 하는 VBA 코드입니다.

이렇게 만들어 사용한 이유는 이전 직장에서 한 지점만 있는 것이 아니라 여러 지점에서 보통 100명 이상의 스케쥴을 관리하여야 했기 때문에 만들어 배포하였으나 프로그램을 사용하는 사람이 개인이 편리하게 사용한다고 수정하고 복사한 것이 프로그램의 고유 경로와 링크, 셀 영역의 지정 함수 등이 이동 변경되어 수시로 A/S 요청이 있어 이런 수정과 복사, 직장 이외에 유출되지 않고 사용하도록 하기 위함이었습니다.

엑셀 VBA 특정 날짜 이후 비밀번호 박스 출력 삭제
엑셀 VBA 특정 날짜 이후 비밀번호 박스 출력 삭제

엑셀 VBA 코드 분석

엑셀 파일 실행시 자동 실행

설명 : 자동 실행 및 변수선언

Sub auto_open() : 자동 VBA 코드 실행
Dim WS As Worksheet : 변수선언
Dim Kabzeel_Title As String : 변수명
Dim Kabzeel_Day As Date : 변수명
Dim Kabzeel_Top As String : 변수명
Dim Kabzeel_Capyright As String : 변수명
Dim Kabzeel_T As String : 변수명

카피라이터 출력

설명 : Capyright

Kabzeel_Day : 현재 날짜
Kabzeel_Title : 타이틀 출력
Kabzeel_Capyright : 카피라이터 출력
Kabzeel_Capyright2 : 카피라이터 출력

시트별 비밀번호 생성 잠금

설명 : 비밀번호 설정

Sheet3.Name : 시트마다 비밀번호 자동입력
Protect “0000” : 비밀번호 입력

메세지 박스 출력하기

설명 : 사용기간이 지났습니다.

Format : 사용기간 지정
MsgBox : 문구 출력
strPW : 비밀번호 박스 출력

틀릴경우 모두 삭제

설명 : 같지 않으면 모두 삭제

Cells(2, 9) : 여기가 맞아야하고
Cells(2, 2) : 같지 않으면
Cells(75, 2) : 같지 않으면

Cells(2, 2) = ” 1900-01-04 ” : 출력 문구
Cells(4, 2) = Kabzeel_Top : 출력 문구
Cells(4, 7) = ” 1900-01-04 ” : 출력 문구

Range(“C6:Q6”).Value = “” : 모두 삭제
Range(“AA6:AK6”).Value = “” : 모두 삭제
Range(“AM6:BA6”).Value = “” : 모두 삭제

Range(“BD6:BR6”).Value = “” : 모두 삭제
Range(“CB6:CL6”).Value = “” : 모두 삭제
Range(“CN6:DB6”).Value = “” : 모두 삭제

Range(“B5:DB73”).Value = “” 사용하여도 됩니다.

위의 방법은 다소 지루한 경우가 있습니다. 그래서 간편하게 엑셀 파일을 외부 노출이 되지 않게 하기 위해 맥주소를 이용하는 경우와 지정된 절대 경로를 이용하기도 합니다.
다음 글에서는 엑셀 파일을 USB나 무단 복제하여 외부에서 열어 보지 못하도록 하는 방법에 대해서 소개하겠습니다.

엑셀 VBA MsgBox 메시지 박스 사용 예제
엑셀 VBA를 이용한 자료 검색 팝업 박스 출력

1 thought on “엑셀 VBA 특정 날짜 이후 비밀번호 박스 출력 삭제”

Comments are closed.

목차