엑셀 VBA를 이용한 자료 검색 팝업 박스 출력

엑셀 VBA를 이용해 입력된 데이터베이스에서 특정 자료를 검색하여 필요한 정보를 팝업창으로 보여주는 코드입니다.
이 코드를 제작한 이유는 1,000개를 관리하여야 할 물품이 있다고 가정하고 이 물품을 담당하는 사람이나 지점, 물품의 제조 연월일, 배송일, 유통 기간 등을 미리 입력한 후 특정 물건에 대한 자료가 필요할 경우 검색하여 가독성을 증가시킬 수 있기 때문입니다(실제 사용한 내용은 개인정보를 위해 모두 삭제).

1. 데이터베이스 생성
2. 자료 검색 색상으로 표시
3. VBA를 이용한 메시지 박스 출력
4. VBA를 이용한 오류 박스 출력

엑셀 기본자료 시트 생성

근로자 검색

설명 : 검색 창과 자료 입력

엑셀 시트 생성 후 원하시는 데이터베이스를 입력하고 위 이미지에 나온 것과 같이 정보 출력 버튼을 미리 만들고, 근무자 검색창 옆 검색어 입력 공간을 생성한 후 조건부 서식에서 검색창과 검색할 구역을 지정합니다(정보 출력 버튼 링크는 차후 메시지 박스 VBA 코드 작성 후 링크).

=AND($C3=$D$3,$D$3>0) (예) : 검색창 지정
=$D$3:$F$3,$B$5:$H$144,$Y$5:$AN$144 (예) : 검색할 영역 지정

정보 출력 버튼은 서식 -> 삽입 -> 단추 양식 -> 매크로 이름에서 미리 작성해 놓은 VBAProject 모듈에서 Public Sub 찾기()의 찾기를 링크하시면 됩니다.

메시지 박스 VBA 코드 작성

엑셀 VBA를 이용한 근로자 검색 팝업 박스 출력

설명 : 메시지 박스 출력

Dim Kabzeel_SW As Boolean : 참이나 거짓 변수 선언
If Range(“D3”) = “” Then Exit Sub : 검색어 없으면 버튼 눌러도 무응답 종료
For i = 5 To 145 : 반복문 카운트 변수의 시작과 끝
If Range(“D3”) = Cells(i, 3) Then : 검색과 셀 내용이 같으면 실행
Cells(i, 4) ~ Cells(i, 30) : 출력할 For 문 영역
Next i : 반복문 끝

나머지 부분은 복사 후 매크로를 실행하면 쉽게 이해되는 부분이며, 궁금한 코드는 검색하여 해결할 수 있습니다.

Cells(i, 3) 3번은 엑셀 시트의 행 번호입니다.
_(언더바)는 길어지는 코드를 다음 행으로 이동 작업
& vbCr & : 다음 줄 <br> 기능

정보가 없으면 박스 출력

찾으려는 근무자 정보가 없습니다

설명 : 오류 메시지 박스 출력

If Kabzeel_SW = False Then : 변수 검색 내용이 Cells 3열 기준으로 같은 내용이 없을 경우 출력 MsgBox 내용 출력 (If Range(“D3”) = Cells(i, 3) Then)

엑셀 VBA 특정 날짜 이후 비밀번호 박스 출력 삭제
엑셀 VBA MsgBox 메시지 박스 사용 예제

1 thought on “엑셀 VBA를 이용한 자료 검색 팝업 박스 출력”

Comments are closed.

목차