엑셀 매크로 사용자 정의 폼을 이용하여 인사관리 시스템을 만들고 있습니다.
엑셀 시트에 사용자 정의 폼을 이용하여 사원입력시 입력내용이 없을 시
검토 확인 기능을 추가합니다.
또한 사원입력이 된후에 사용자 정의 폼의 데이터를 모두 초기화 해야 한다.
그러면 초기화 되어 공백상태에서 다시 입력 환경을 만들어 줍니다.
Private Sub CommandButton2_Click()
Dim lastrow As Integer
Dim ws As Worksheet
Set ws = Worksheets("사원명부")
Dim as_data As String
lastrow = ws.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row + 1
If as_sabun.Value = "" Then
MsgBox "사번을 입력 바랍니다."
Else
'사번이 중복이 되어 있으면 메시지 보여주고 저장하지 말고 빠져나온다.
as_data = as_sabun.Value
For i = 2 To lastrow - 1
If as_data = Cells(i, 1) Then
MsgBox as_sabun.Value & " : 사번이 중복 되었습니다. 사번을 확인후 입력 바랍니다!"
'커서가 사번을 가르킨다.
as_sabun.SetFocus
Exit Sub
End If
Next i
If as_sabun.Value = "" Then
MsgBox "사번을 입력/확인 바랍니다."
as_sabun.SetFocus
Exit Sub
End If
If as_name.Value = "" Then
MsgBox "성명을 입력/확인 바랍니다."
as_name.SetFocus
Exit Sub
End If
If as_jumin.Value = "" Then
MsgBox "주민등록번호를 입력/확인 바랍니다."
as_jumin.SetFocus
Exit Sub
End If
If as_addr.Value = "" Then
MsgBox "주소를 입력/확인 바랍니다."
as_addr.SetFocus
Exit Sub
End If
If as_dept.Value = "" Then
MsgBox "소속을 입력/확인 바랍니다."
as_dept.SetFocus
Exit Sub
End If
If as_grade.Value = "" Then
MsgBox "직급을 입력/확인 바랍니다."
as_grade.SetFocus
Exit Sub
End If
If as_indate.Value = "" Then
MsgBox "입사일을 입력/확인 바랍니다."
as_indate.SetFocus
Exit Sub
End If
If as_years.Value = "" Then
MsgBox "근속년수을 입력/확인 바랍니다."
as_years.SetFocus
Exit Sub
End If
Cells(lastrow, 1) = as_sabun.Value '사번
Cells(lastrow, 2) = as_name.Value '성명
Cells(lastrow, 3) = as_jumin.Value '주민등록번호
Cells(lastrow, 4) = as_addr.Value '주소
Cells(lastrow, 5) = as_dept.Value '부서
Cells(lastrow, 6) = as_grade.Value '직급
Cells(lastrow, 7) = as_indate.Value '입사일
Cells(lastrow, 8) = as_years.Value '근속년수
CmdNew_Click '초기화 함수호출 - 실행
End If
위부분을 추가하여 모든 항목이 입력이 안되면 엑셀 시트에 추가 작업이 안되게 됩니다.
또한 초기화 함수를 만들어서 초기화 해줍니다.
Private Sub CmdNew_Click()
as_sabun = ""
as_name = ""
as_jumin = ""
as_addr = ""
as_dept = ""
as_grade = ""
as_indate = ""
as_years = ""
as_sabun.SetFocus '사번에 마우스 위치한다.
End Sub
정상적인 입력이 되면 초기화 작업이 진행 됩니다.
이렇게 필수 입력사항을 프로그램내에서 검증작업을 하도록 해주면 오류를 줄일 수 있습니다.
다음에는 수정작업을 알아보겠습니다.
'엑셀매크로' 카테고리의 다른 글
엑셀 매크로 인사관리 수정기능 추가 (0) | 2023.02.13 |
---|---|
엑셀 매크로 주석(Comment) 달기 (0) | 2023.02.10 |
엑셀 매크로 Option Explicit 문(Visual Basic) 사용 (0) | 2023.02.10 |
엑셀 매크로 모듈 추가 방법 (0) | 2023.02.10 |
엑셀 매크로 사용자 정의 폼 셀에 자료입력 (0) | 2023.02.08 |
댓글