0% found this document useful (0 votes)
52 views7 pages

Coding Input Data Anti Double

This document contains VBA code for managing an employee database. It includes subroutines for adding, deleting, resetting, and updating employee records in a spreadsheet. Validation checks for required fields are also included to ensure complete data entry.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views7 pages

Coding Input Data Anti Double

This document contains VBA code for managing an employee database. It includes subroutines for adding, deleting, resetting, and updating employee records in a spreadsheet. Validation checks for required fields are also included to ensure complete data entry.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

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

You might also like