CODING
Option Explicit
Private Sub CMDADD_Click()
If Me.TXTID.Value = "" _
Or Me.TXTNAMA.Value = "" _
Or Me.CMBJENISKELAMIN.Value = "" _
Or Me.TXTALAMAT.Value = "" _
Or Me.TXTTELPON.Value = "" _
Or Me.TXTEMAIL.Value = "" Then
Call MsgBox("Harap isi data dengan lengkap", vbInformation, "Data Tidak Lengkap")
Else
Call CekIDPegawai
End If
End Sub
Private Sub CMDDELETE_Click()
If Me.TXTNOMOR.Value = "" Then
Call MsgBox("Data yang akan dihapus belum dipilih", vbInformation, "Hapus Data")
Else
Select Case MsgBox("Anda akan menghapus data." _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Hapus Data")
Case vbNo
Exit Sub
Case vbYes
End Select
Sheet1.Select
Selection.EntireRow.Delete
Me.TXTID.Value = ""
Me.TXTNAMA.Value = ""
Me.CMBJENISKELAMIN.Value = ""
Me.TXTALAMAT.Value = ""
Me.TXTTELPON.Value = ""
Me.TXTEMAIL.Value = ""
End If
Me.CMDADD.Enabled = True
End Sub
Private Sub CMDRESET_Click()
Me.TXTID.Value = ""
Me.TXTNAMA.Value = ""
Me.CMBJENISKELAMIN.Value = ""
Me.TXTALAMAT.Value = ""
Me.TXTTELPON.Value = ""
Me.TXTEMAIL.Value = ""
Me.TXTNOMOR.Value = ""
Me.TABELDATA.Value = ""
Me.Width = 735
Me.CMDADD.Enabled = True
End Sub
Private Sub CMDTUTUP_Click()
Me.Width = 735
Me.TXTIDCEK.Value = ""
Me.TXTNAMACEK.Value = ""
Me.TXTJENISKELAMINCEK.Value = ""
Me.TXTALAMATCEK.Value = ""
Me.TXTTELPONCEK.Value = ""
Me.TXTEMAILCEK.Value = ""
End Sub
Private Sub CMDUPDATE_Click()
Dim UbahData As Object
Set UbahData = Sheet1.Range("A6:A100000").Find(What:=Me.TXTNOMOR.Value, LookIn:=xlValues)
If Me.TXTNOMOR.Value = "" Then
Call MsgBox("Data yang diubah belum dipilih", vbInformation, "Ubah Data")
Else
UbahData.Offset(0, 1).Value = Me.TXTID.Value
UbahData.Offset(0, 2).Value = Me.TXTNAMA.Value
UbahData.Offset(0, 3).Value = Me.CMBJENISKELAMIN.Value
UbahData.Offset(0, 4).Value = Me.TXTALAMAT.Value
UbahData.Offset(0, 5).Value = Me.TXTTELPON.Value
UbahData.Offset(0, 6).Value = Me.TXTEMAIL.Value
Call MsgBox("Data berhasil diubah", vbInformation, "Ubah Data")
Call AmbilData
Me.TXTID.Value = ""
Me.TXTNAMA.Value = ""
Me.CMBJENISKELAMIN.Value = ""
Me.TXTALAMAT.Value = ""
Me.TXTTELPON.Value = ""
Me.TXTEMAIL.Value = ""
End If
Me.CMDADD.Enabled = True
End Sub
Private Sub TABELDATA_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim SUMBERUBAH As String
Dim CELLAKTIF As String
On Error GoTo EXCELVBA
Me.TXTNOMOR.Value = Me.TABELDATA.Value
Me.TXTID.Value = Me.TABELDATA.Column(1)
Me.TXTNAMA.Value = Me.TABELDATA.Column(2)
Me.CMBJENISKELAMIN.Value = Me.TABELDATA.Column(3)
Me.TXTALAMAT.Value = Me.TABELDATA.Column(4)
Me.TXTTELPON.Value = Me.TABELDATA.Column(5)
Me.TXTEMAIL.Value = Me.TABELDATA.Column(6)
SUMBERUBAH = Sheets("DATAPEGAWAI").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("DATAPEGAWAI").Range("A6:A" & SUMBERUBAH).Find(What:=Me.TXTNOMOR.Value,
LookIn:=xlValues, LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Me.CMDADD.Enabled = False
Exit Sub
EXCELVBA:
Call MsgBox("Pilih data pada tabel data", vbInformation, "Pilih Data")
End Sub
Private Sub CekIDPegawai()
Dim DATAGANDA As Long
Dim CARIDATA As Object
Dim DBPegawai As Object
DATAGANDA = Application.WorksheetFunction.CountIf(Sheet1.Range("B6:B10000"),
Me.TXTID.Value)
Set CARIDATA = Sheet1.Range("B6:B10000").Find(What:=Me.TXTID.Value, LookIn:=xlValues)
Set DBPegawai = Sheet1.Range("A10000").End(xlUp)
If DATAGANDA > 0 Then
Select Case MsgBox("Id ini telah digunakan." _
& vbCrLf & "Apakah anda ingin melihat pemilik ID ini?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "ID Pegawai Ganda")
Case vbNo
Exit Sub
Case vbYes
End Select
Me.TXTID.Value = ""
Me.TXTNAMA.Value = ""
Me.CMBJENISKELAMIN.Value = ""
Me.TXTALAMAT.Value = ""
Me.TXTTELPON.Value = ""
Me.TXTEMAIL.Value = ""
Me.Width = 914
Me.TXTIDCEK.Value = CARIDATA.Offset(0, 0).Value
Me.TXTNAMACEK.Value = CARIDATA.Offset(0, 1).Value
Me.TXTJENISKELAMINCEK.Value = CARIDATA.Offset(0, 2).Value
Me.TXTALAMATCEK.Value = CARIDATA.Offset(0, 3).Value
Me.TXTTELPONCEK.Value = CARIDATA.Offset(0, 4).Value
Me.TXTEMAILCEK.Value = CARIDATA.Offset(0, 5).Value
Else
DBPegawai.Offset(1, 0).Value = "=Row()-Row($A$5)"
DBPegawai.Offset(1, 1).Value = Me.TXTID.Value
DBPegawai.Offset(1, 2).Value = Me.TXTNAMA.Value
DBPegawai.Offset(1, 3).Value = Me.CMBJENISKELAMIN.Value
DBPegawai.Offset(1, 4).Value = Me.TXTALAMAT.Value
DBPegawai.Offset(1, 5).Value = Me.TXTTELPON.Value
DBPegawai.Offset(1, 6).Value = Me.TXTEMAIL.Value
Call MsgBox("Data berhasil disimpan", vbInformation, "Data Tidak Lengkap")
ThisWorkbook.Save
Call AmbilData
Me.TXTID.Value = ""
Me.TXTNAMA.Value = ""
Me.CMBJENISKELAMIN.Value = ""
Me.TXTALAMAT.Value = ""
Me.TXTTELPON.Value = ""
Me.TXTEMAIL.Value = ""
End If
End Sub
Private Sub TXTID_Change()
End Sub
Private Sub UserForm_Initialize()
Me.BackColor = RGB(49, 147, 122)
Me.Width = 735
Call AmbilData
With CMBJENISKELAMIN
.AddItem "Laki - Laki"
.AddItem "Perempuan"
End With
End Sub
Private Sub AmbilData()
Dim DBPegawai As Long
Dim irow As Long
irow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
DBPegawai = Application.WorksheetFunction.CountA(Sheet1.Range("A6:A900000"))
If DBPegawai = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "DATAPEGAWAI!A6:G" & irow
End If
End Sub