CRUD Worksheet

Membuat input di worksheet melalui VBA bukan hanya mempercepat proses kerja, tetapi juga membantu mengurangi kesalahan yang terjadi ketika data diinput secara manual.

Langkah-langkah ini sangat bermanfaat bagi pemula yang ingin memahami dasar-dasar VBA dan cara menggunakannya untuk mempermudah pengelolaan data di Excel.

Mari kita mulai dengan beberapa langkah sederhana untuk membuat input menggunakan VBA di worksheet!

Pembuatan Template

Pada tahap pertama dimulai dengan proses pembuatan Template untuk membuat sebuah form input sederhana langsung di cells.

Contoh tempat input, bisa dilihat pada gambar dibawah ini:

Pembuatan Script

Proses pembuatan script dimulai dari pembuatan property untuk Input Cells, pembuatan propertis ini untuk memudahkan proses pembuatan script.

Simpan script dibawah ini didalam Module.

Public Property Get InputCell() As Range
Set InputCell = Sheet1.Range("C3,C5,C7,C9,C11,F3,F5,F7,F9,F11")
End Property

Script Reset Form

Selanjutnya untuk tombol reset, bisa menggunakan script berikut ini

Sub ResetForm()
Dim Sel As Range

For Each Sel In InputCell
    Sel.ClearContents
Next
Sheet1.Range("D3").ClearContents
End Sub

Script Tambah Data

Script untuk menyimpan data dari cell input.

Sub TambahData()
Dim DBPenduduk As Range

Set DBPenduduk = Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp).Offset(1)

'Untuk Cek Kosong
For Each sel In InputCell
    If sel.Value = "" Then
        Msgbox "Data tidak boleh kosong!", vbInformation, "Data Penduduk"
        Exit Sub
    End If
Next

'Simpan Data
DBPenduduk.Value = "=ROW()-16"
For i = 1 To InputCell.Count
    DBPenduduk.Offset(0, i).Value = InputCell.Areas.Item(i)
Next

Call ResetForm
Msgbox "Data berhasil disimpan!", vbInformation, "Data Penduduk"

End Sub

Script Edit Data

Sebelum membuat sript untuk Edit data, tambahkan script di Worksheet Module, pada Event Selection change, untuk memindahkan data dari table ke Cell Input.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Range("A17:A" & Rows.count), Target) Is Nothing Then
    For i = 1 To InputCell.Count
        InputCell.Areas.Item(i) = Target.Offset(0, i).Value
    Next
    Range("D3").Value = Target.Value
End If
End Sub

Setelah itu tambahkan script berikut ini pada tombol Edit Data

Sub EditData()
Dim DBPenduduk as Range
Set DBPenduduk = Sheet1.Cells(Sheet1.Range("D3").Value + 16, "A")

'Simpan Data
DBPenduduk.Value = "=ROW()-16"
For i = 1 To InputCell.Count
    DBPenduduk.Offset(0, i).Value = InputCell.Areas.Item(i)
Next

Call ResetForm
Msgbox "Data berhasil diubah!", vbInformation, "Data Penduduk"
End Sub

Script Hapus Data

Sub HapusData()
Dim Pesan As VbMsgBoxResult

Pesan = MsgBox("Apakah Yakin Data ini akan dihapus", vbYesNo + vbQuestion, "Data Penduduk")
If Pesan = vbNo Then Exit Sub

Set DBPenduduk = Sheet1.Cells(Sheet1.Range("D3").Value + 16, "A")
DBPenduduk.EntireRow.Delete
Call ResetForm
End Sub

Untuk tutorial lengkap bisa dilihat disini:

One thought on “CRUD Worksheet

Leave a Reply

Your email address will not be published. Required fields are marked *

Tutorial Lainnya
Chat WhatsApp
WhatsApp