VBA 사용자 정의 폼을 이용한 자동입력 폼 실행

VBA 매크로를 이용한 사용자 정의 폼으로 많은 자료를 쉽고 빠르게 입력하여 효율적인 업무 수행을 하기 위해 사용한 코드입니다.
엑셀 프로그램으로 데이터베이스를 관리한다고 가정할 때 입력할 내용이 많아 일일이 마우스를 클릭하고 좌우 스크롤 하면서 자료를 입력한다고 하면 업무 시간 증가와 효율성이 많이 떨어지게 됩니다.

그래서 이런 비효율적인 작업 시간을 줄이고 작업자로 하여금 자료 입력이 효율적이고 정확한 자료 검색 결과를 사용자 폼과 메시지 박스를 통하여 관리하기 위해 제작한 코드이며, 다소 복잡하고 어렵게 느낄 수 있으나 아래 코드를 복사하고 검색하시면 조금의 지식으로도 제작하실 수 있으니 따라 해 보시기 바랍니다.

엑셀 VBA 특정 날짜 이후 비밀번호 박스 출력 삭제
엑셀 VBA를 이용한 자료 검색 팝업 박스 출력
엑셀 VBA MsgBox 메시지 박스 사용 예제

사용자 정의 폼 VBA 코드

VBA 사용자 정의 폼을 이용한 자동입력 폼 실행

설명 : On Error Resume Next

ActiveSheet.Unprotect Password : 시트 비밀번호 보호 해제
Dim r As String : r변수 문자로 선언
On Error Resume Next : 가장 마지막으로 호출한 문 바로 다음 문으로 실행 다시 시작
SpecialCells(xlCellTypeBlanks).Row : 빈 셀을 포함하는 행 범위 반환 지정 (즉 빈 셀이 있다면 그 곳을 우선 순위로 반복해서 입력한다는 것)

설명 : Cells의 행과 TextBox 구분

Cells(r, 2) = TextBox1.Text : r은 문자 변수 2는 행번호 TextBox1은 박스 이름
이하 지속적인 행 번호를 추가하여 데이터베이스 입력 가능
End With : 반복하여 다음 문을 실행
TextBox1.Text = “” : 입력을 다하고 나면 해당 박스에 입력한 데이터 지움.
TextBox1.SetFocus : 입력된 내용을 해당 행으로 전달
ActiveSheet.Protect Password : 시트 비밀번호 보호 잠금

설명 : CommandButton List Box

Unload Me : CommandButton 닫고 다시 로드. 링크참고
Worksheets(“DATABASE”).Activate : 데이트베이스 시트
Dim Rows As Long : 마지막 행번호 저장
Application.CountA(Range(“DL14:DL32”)) : 데이터가 있는 셀 개수와 범위 지정(비어있는 셀은 제외)
ListBox1.RowSource : 리스트 박스 출력 범위 지정
Private Sub ListBox1_Change() ~ End Sub : 리스트 박스 출력

기본 데이터베이스 자료 구축

VBA 사용자 정의 폼을 이용한 자동입력 폼 실행

설명 : 데이터베이스 구축 샘플

아무리 사용자 폼을 멋지게 구성한다고 하여도 데이터베이스 자료가 부족하면 복잡하게 폼을 만들어 사용할 필요가 없습니다. 그래서 데이터베이스의 경우는 최우선으로 구축할 내용을 생각해 두셔야 합니다.
데이터베이스 구축 예)

번호1열부터 순차적 번호
사번KB00001
사원명갑스엘
직종블로그 운영
전공컴퓨터
생년월일2025-03-25
성별
나이100살
자격증전공자 자격증
근속년월일4000 일
수행평가 점수100 점
특이사항없음
조정일2025-03-25
급여액100
조정내역승진호봉(2)

유저폼 닫기와 List Box

VBA 사용자 정의 폼을 이용한 자동입력 폼 실행

설명 : Private Sub CommandButton

Private Sub OptionButton1_Click() : 첫 번째 옵션 단추
이후 코드들 대부분은 CommandButton, ListBox, OptionButton, Label, TextBox의 반복적인 디자인 폼 꾸미기 입니다.

1 thought on “VBA 사용자 정의 폼을 이용한 자동입력 폼 실행”

Comments are closed.

목차