Skip to content Skip to sidebar Skip to footer

Coding Tombol Edit Delete Dan Validasi UserForm VBA Excel

Membuat Coding Tombol Edit dan Delete Di UserForm VBA Excel ini sudah memasuki tahapan "Belajar VBA Excel Part 9". Bila tutorial "Belajar VBA Part 8" sebelumnya membahas mengenai cara menampilkan data dari ListBox ke dalam kolom form input, kali ini ini melanjutkan dengan pilihan untuk mengedit atau menghapus data yang ditampilkan tersebut.

Keperluan edit dan delete yang dilakukan bisa terjadi dikarenakan adanya kesalahan data yang sudah terinput maupun disebabkan terjadi perubahan data dalam proses pekerjaan tersebut dan bilamana tidak dilakukan edit maupun delete akan mempengaruhi hasil akhir laporan yang dibuat.

Untuk membuat coding edit dan delete ini sebenarnya banyak cara yang bertebaran diluar sana, namun sesuai tujuan blog ini, tutorial ini disampaikan terutama untuk seorang pemula, yang tidak memilik basic di VBA Excel dan ingin mempelajari membuat aplikasi sederhana berbasis VBA Excel secara otodidak dengan lebih cepat dan mudah dipahami.

Animasi Edit dan Delete


Dari banyak cara yang ada, Admin berusaha memberikan coding makro yang lebih simple dengan bahasa yang mudah dipahami namun dapat diterapkan dimanapun, kapanpun dan berfungsi dengan baik. Sobat SD tinggal ikuti langkah-langkah berikut ini:

A. Menambahkan Coding Edit (Ubah) Data di UserForm

Disini Admin menganggap semua Sobat SD sudah memahami cara menampilkan dan membuat Scope (ruang lingkup) objek dan prosedur di Code Window (jendela kode) UserForm VBA. Namun bagi yang belum memahami ataupun baru bergabung silahkan buka tutorial sebelumnya. Usahakan membaca dari awal karena materi tutorial ini dibagi dalam beberapa part yang saling berkaitan.

Sobat SD yang ingin melihat coding untuk Tombol Simpan Data ke dalam database worksheets buka kembali tutorial "Belajar VBA Excel Part 6".

1. Selanjutnya langsung saja menuju UserForm1 lalu klik kanan CommandButton Edit (Ubah) pilih View Code atau langsung saja double klik.

2. Tambahkan/ganti kode makro tersebut dengan yang ada dibawah ini:

Private Sub Ubah_Click()
	If Nama.Value = "" Then
	MsgBox "Cari Atau Double Klik Data Yang Mau Diubah Bos-Qu !!!", vbInformation, "Pemberitahuan"
	End If
	Dim Baris As Integer
	Set Ws = Worksheets("BelajarVBA").Range("A:A")
	Set Cari = Ws.Find(KodeID, LookAt:=xlWhole)
	If Not Cari Is Nothing Then
		Baris = Cari.Row
		If MsgBox("Apakah Bos-Qu Yakin Akan Mengubah Data Ini ?!!", vbYesNo + vbQuestion, "Pernyataan") = vbYes Then
			Worksheets("BelajarVBA").Cells(Baris, 1) = KodeID
			Worksheets("BelajarVBA").Cells(Baris, 2) = Nama.Value
			Worksheets("BelajarVBA").Cells(Baris, 3) = Alamat.Value
			Worksheets("BelajarVBA").Cells(Baris, 4) = Kecamatan.Value
			Worksheets("BelajarVBA").Cells(Baris, 5) = Kelurahan.Value
			Worksheets("BelajarVBA").Cells(Baris, 6) = Tanggal.Value
			If OptLaki = True Then
				Worksheets("BelajarVBA").Cells(Baris, 7) = "Laki-Laki"
			ElseIf OptPerempuan = True Then
				Worksheets("BelajarVBA").Cells(Baris, 7) = "Perempuan"
			End If
			Worksheets("BelajarVBA").Cells(Baris, 8).Value = CDbl(Modal.Value)
			Tampil_ListBoxBelajar
			MsgBox "Data Sudah Berhasil Diubah Bos-Qu", vbInformation, "Pemberitahuan"
		End If
		Bersihkan
		Nama.SetFocus
	End If
End Sub


Coding Edit

Penjelasan makro diatas adalah:

  • Private Sub Ubah_Click() dan End Sub. Sebuah scope prosedur dengan objek CommandButton Ubah dimana perintah berikutnya akan dijalankan bila tombol ubah kita klik.

  • If Nama.Value = "" Then dan MsgBox "Cari Atau Double Klik Data Yang Mau Diubah Bos-Qu !!!", vbInformation, "Pemberitahuan" lalu ditutup dengan End If. Sebuah perintah apabila data kolom Nama kosong akan menampilkan pesan bahwa tidak ada data yang perlu diubah.

  • Dim Baris As Integer. Pernyataan bahwa Objek baris yang dibuat merupakan variabel dalam bentuk tipe integer.

  • Set Ws = Worksheets("BelajarVBA").Range("A:A"). Menetapkan objek yang menjadi acuan pencarian data adalah database workshets sheet BelajarVBA Kolom A dimana kode ID tercatat disini.

  • Set Cari = Ws.Find(KodeID, LookAt:=xlWhole). Pencarian data dengan mencocokkan kode ID.

  • If Not Cari Is Nothing Then dan Baris = Cari.Row. Perintah bila data yang dicari ditemukan maka akan dieksekusi sesuai perintah berikutnya, yaitu mengubah data dan menyimpannya kembali sesuai tempat yang ditentukan dengan data terbaru yang telah mengalami perubahan.

  • If MsgBox("Apakah Bos-Qu Yakin Akan Mengubah Data Ini ?!!", vbYesNo + vbQuestion, "Pernyataan") = vbYes Then ditutup dengan End If. Sebuah makro pesan pertanyaan yang akan tampil sebelum data kita mengubah data.

  • Worksheets("BelajarVBA").Cells(Baris, 1) = KodeID sampai Worksheets("BelajarVBA").Cells(Baris, 8).Value = CDbl(Modal.Value). Merupakan perintah untuk menyimpan data pada tempat yang telah ditentukan.

  • MsgBox "Data Sudah Berhasil Diubah Bos-Qu", vbInformation, "Pemberitahuan". Pesan pemberitahuan apabila data telah tersimpan ke dalam database worksheets.

  • Bersihkan dan Nama.SetFocus. Perintah untuk mengosongkan kembali kolom form input, agar kita bisa memulai kembali penginputan selanjutnya atau melakukan proses pekerjaan lainnya.

B. Menambahkan Coding Delete (Hapus) Data di UserForm

1. Klik kanan CommandButton Delete (hapus) pilih View Code atau langsung saja double klik.

2. Tambahkan/ganti kode makro tersebut dengan yang ada dibawah ini:

Private Sub Hapus_Click()
	If Nama.Value = "" Then
		MsgBox "Cari Atau Double Klik Data Yang Mau Dihapus Bos-Qu !!!", vbInformation, "Pemberitahuan"
	End If
	Dim Baris As Integer
	Set Ws = Worksheets("BelajarVBA").Range("A:A")
	Set Cari = Ws.Find(KodeID, LookAt:=xlWhole)
	If Not Cari Is Nothing Then
		Baris = Cari.Row
		If MsgBox("Apakah Bos-Qu Yakin Akan Menghapus Data Ini ?!!", vbYesNo + vbQuestion, "Pernyataan") = vbYes Then
			Worksheets("BelajarVBA").Cells(Baris, 1).EntireRow.Delete
			Tampil_ListBoxBelajar
			MsgBox "Data Sudah Berhasil Dihapus Bos-Qu", vbInformation, "Pemberitahuan"
		End If
		Bersihkan
		Nama.SetFocus
	End If
End Sub

 

Coding Hapus


Penjelasan makro diatas adalah:

  • Private Sub Hapus_Click() ditutup dengan End Sub. Sebuah scope prosedur dengan objek CommandButton  Hapus dimana perintah berikutnya akan dijalankan bila tombol hapus kita klik.
  • If Nama.Value = "" Then dan MsgBox "Cari Atau Double Klik Data Yang Mau Dihapus Bos-Qu !!!", vbInformation, "Pemberitahuan" dan ditutup dengan End If. Sebuah perintah apabila data kolom Nama kosong akan menampilkan pesan bahwa tidak ada data yang dapat dihapus.

  • Dim Baris As Integer. Pernyataan bahwa Objek baris yang dibuat merupakan variabel dalam bentuk tipe integer.

  • Set Ws = Worksheets("BelajarVBA").Range("A:A"). Menetapkan objek yang menjadi acuan pencarian data adalah database workshets sheet BelajarVBA Kolom A dimana kode ID tercatat disini.

  • Set Cari = Ws.Find(KodeID, LookAt:=xlWhole). Pencarian data dengan mencocokkan kode ID.

  • If Not Cari Is Nothing Then dan Baris = Cari.Row. Perintah bila data yang dicari ditemukan maka akan dieksekusi sesuai perintah berikutnya, yaitu menghapus data yang terpilih.

  • If MsgBox("Apakah Bos-Qu Yakin Akan Menghapus Data Ini ?!!", vbYesNo + vbQuestion, "Pernyataan") = vbYes Then ditutup dengan End If. Sebuah makro pesan pertanyaan yang akan tampil sebelum data kita hapus, memungkinkan untuk meyakinkan kita dalam pilihan penghapusan data.

  • Worksheets("BelajarVBA").Cells(Baris, 1).EntireRow.Delete. Perintah menghapus data dari database sesuai data yang terpilih.

  • MsgBox "Data Sudah Berhasil Dihapus Bos-Qu", vbInformation, "Pemberitahuan". Pesan pemberitahuan apabila data telah terhapus dari database worksheets.

  • Bersihkan dan Nama.SetFocus. Perintah untuk mengosongkan kembali kolom form input, agar kita bisa memulai kembali penginputan selanjutnya atau melakukan proses pekerjaan lainnya.

 
Demikian tutorial menambahkan coding untuk tombol edit dan deleted pada UserForm VBA Excel. Silahkan berkunjung ke Channel Youtube   Sobat SD untuk mendapatkan tutorial ini dalam bentuk video. Semoga postingan kali ini membawa manfaat, Wassalam.


1 comment for "Coding Tombol Edit Delete Dan Validasi UserForm VBA Excel"