Kali ini saya buat tutorial bagaimana membuat CRUD yang simple dimana pada CRUD ini tidak mengunakan methode FIND.
Teknik pencarian data yang dilakukan pada CRUD kali ini adalah dengan memanfaatkan Listbox Index yang nantinya ini dijadikan alamat di Worksheet sebagai Index Baris.
Seperti yang sudah sering saya bahas langkah-langkah dalam setiap membuat aplikasi adalah seperti berikut ini :

Tahap pertama yang dilakukan dalam membuat aplikasi adalah membuat database yang nantinya datanya ini akan diinput melalui Userform

Setelah database telah dibuat, selanjutnya buat Userform sesuai isian yang ada pada database

coding module
Sub Urutkan()
For i = 2 To HitungBaris
Sheet1.Range("A" & i).Value = i - 1
Next
End Sub
Function HitungBaris()
HitungBaris = Sheet1.Range("B" & Rows.Count).End(xlUp).Row
End Function
Script pada Userorm
Private Sub Btn_Delete_Click()
'Delete
Dim Pesan As VbMsgBoxResult 'Enumeration Integer
If Txt_Nama.Text = vbNullString Then Exit Sub
Pesan = MsgBox("Apakah Datanya mau di hapus?", vbYesNo + vbQuestion)
If Pesan = vbNo Then Exit Sub
Sheet1.Range("A" & Txt_No.Text + 1).EntireRow.Delete '<-- intiny ini saja
Call HapusInputan
Urutkan
MsgBox "Data Sudah Berhasil dihapus!", vbInformation
End Sub
Private Sub Btn_Edit_Click()
Dim JK As String
Dim Baris As Long
Baris = Txt_Nama.Tag + 2 '<---1 baris yg membedakan antra edit / simpan
If OP_Laki.Value = True Then
JK = "Laki-laki"
Else
JK = "Perempuan"
End If
Sheet1.Range("A" & Baris).Value = Txt_No.Text
Sheet1.Range("B" & Baris).Value = Txt_Nama.Text
Sheet1.Range("C" & Baris).Value = Txt_Alamat.Text
Sheet1.Range("D" & Baris).Value = JK
Sheet1.Range("E" & Baris).Value = CB_Jurusan.Text
Call HapusInputan
MsgBox "Data Sudah Berhasil diEdit!", vbInformation
End Sub
Private Sub Btn_Simpan_Click()
Dim JK As String
Dim Baris As Long
If cekKosong Then Exit Sub
Baris = HitungBaris + 1
'Create
If OP_Laki.Value = True Then
JK = "Laki-laki"
Else
JK = "Perempuan"
End If
Sheet1.Range("A" & Baris).Value = Txt_No.Text
Sheet1.Range("B" & Baris).Value = Txt_Nama.Text
Sheet1.Range("C" & Baris).Value = Txt_Alamat.Text
Sheet1.Range("D" & Baris).Value = JK
Sheet1.Range("E" & Baris).Value = CB_Jurusan.Text
Call HapusInputan
MsgBox "Data Sudah Berhasil disimpan!", vbInformation
Call IsiLisbox
End Sub
Private Sub LB_Data_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Txt_No.Text = LB_Data.Column(0)
Txt_Nama.Tag = LB_Data.ListIndex
Txt_Nama.Text = LB_Data.Column(1)
Txt_Alamat.Text = LB_Data.Column(2)
If LB_Data.Column(3) = "Perempuan" Then
OP_Perempuan.Value = True
Else
OP_Laki.Value = True
End If
CB_Jurusan.Text = LB_Data.Column(4)
End Sub
Private Sub UserForm_Initialize()
CB_Jurusan.List = Array("Matematika", "B. Inggris", "B. Indonesia")
Call IsiLisbox
Call HapusInputan
Txt_Nama.SetFocus
End Sub
Sub IsiLisbox()
LB_Data.RowSource = "Database!A2:E" & HitungBaris
End Sub
Sub HapusInputan()
Txt_No.Text = HitungBaris
Txt_Nama.Text = vbNullString
Txt_Alamat.Text = vbNullString
OP_Laki.Value = False
OP_Perempuan.Value = False
CB_Jurusan.Text = vbNullString
End Sub
Function cekKosong() As Boolean
If Txt_Nama.Text = vbNullString Then
Txt_Nama.SetFocus
MsgBox "Nama tidak boleh Kosong"
cekKosong = True
ElseIf Txt_Alamat = vbNullString Then
Txt_Alamat.SetFocus
MsgBox "Alamat tidak boleh Kosong"
cekKosong = True
ElseIf OP_Laki.Value = False And OP_Perempuan.Value = False Then
MsgBox "Jenis Kelamin tidak boleh Kosong"
cekKosong = True
ElseIf CB_Jurusan.Text = vbNullString Then
CB_Jurusan.SetFocus
MsgBox "Jurusan tidak boleh Kosong"
cekKosong = True
Else
cekKosong = False
End If
End Function
Untuk penjelasan lebih detail, silahkan simak video tutorialnya
File Download :