엑셀 매크로로 인사관리시스템을 만들어 가고 있습니다.
사원입력에 이어 입력된 사원을 수정작업을 할 수 있어야 하겠죠 ?
수정버튼을 만들어서 입력된 사번이 있는 사원에 대하여 수정작업을 한다.
먼저 [개발도구]-[VBA]-폼-UserForm1 에 들어갑니다.
도구상자에서 명령버튼을 추가합니다.
추가한 명령버튼의 Caption을 수정으로 변경합니다. 수정버튼이 수정되었습니다.
수정 명령버튼을 더블클릭하고 들어가면 프로그램을 작성할 수 있습니다.
Private Sub CommandButton3_Click()
'수정 - 사원번호가 기준이 되고 없으면 수정은 못함 - 수정후 입력상자 Clear
Dim lastrow, cur_row 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 MsgBox("수정된 내용을 저장하겠습니까?", vbInformation + vbYesNo, "저장확인") = vbYes Then
If as_sabun.Value = "" Then
MsgBox "사번을 입력/확인 바랍니다."
as_sabun.SetFocus
Exit Sub
End If
'사번이 중복이 되어 있으면 메시지 보여주고 저장하지 말고 빠져나온다.
as_data = as_sabun.Value
For i = 2 To lastrow - 1
If as_data = Cells(i, 1) Then
cur_row = i
Exit For
End If
Next i
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(cur_row, 1) = as_sabun.Value '사번
Cells(cur_row, 2) = as_name.Value '성명
Cells(cur_row, 3) = as_jumin.Value '주민등록번호
Cells(cur_row, 4) = as_addr.Value '주소
Cells(cur_row, 5) = as_dept.Value '부서
Cells(cur_row, 6) = as_grade.Value '직급
Cells(cur_row, 7) = as_indate.Value '입사일
Cells(cur_row, 8) = as_years.Value '근속년수
CmdNew_Click '초기화 함수호출 - 실행
End If
End Sub
인사관리를 실행해 보면 수정버튼이 보이고 실행해보면 수정이 됩니다.
엑셀에 데이터를 사용자 정의 폼에서 입력하고 불러와서 수정할 수 있습니다.
다음에는 삭제 버튼을 만들어 보겠습니다.
'엑셀매크로' 카테고리의 다른 글
엑셀 매크로 데이터 입력 검증 기능 구현 (0) | 2023.02.11 |
---|---|
엑셀 매크로 주석(Comment) 달기 (0) | 2023.02.10 |
엑셀 매크로 Option Explicit 문(Visual Basic) 사용 (0) | 2023.02.10 |
엑셀 매크로 모듈 추가 방법 (0) | 2023.02.10 |
엑셀 매크로 사용자 정의 폼 셀에 자료입력 (0) | 2023.02.08 |
댓글