Minggu, 08 Juni 2014

Kode VBA Excel Untuk Menghapus Kode VBA Lain

Hapus
Beberapa waktu lalu saya mendapati sebuah pertanyaan tentang bagaimana cara menghapus sebuah kode VBA menggunakan kode VBA lainnya. Kemudian saya berfikir, buat apa menghapus (dengan sengaja) sebuah kode atau beberapa kode yang sudah susah payah dibangun!!! tapi entahlah, mungkin memang ada kode yang 'harus' dirahasiakan sehingga ketika dalam keadaan tertentu kode tersebut harus segera dimusnahkan...

Konsep dasar dari tutorial ini adalah dengan melihat sebuah objek vba (module, userform, maupun class modules) yang tersimpan dalam sebuah ProjectVBA - untuk kemudian di hapus menggunakan kode VBA.
artinya, bukan hanya kode yang terhapus melainkan objek itu juga akan ikut terhapus.

Seperti biasa, buat atau buka dokumen Microsoft Excel jika belum - kemudian tekan Alt + F11 untuk langsung menuju jendela Visual Basic Editor.
Buat sebuah module baru dengan cara pilih menu Insert > Module, selanjutnya tempelkan kode berikut di jendela kode
Sub Hapus()
Dim X As Object

Set X = Application.VBE.ActiveVBProject.VBComponents
X.Remove vbcomponent:=X.Item("UserForm1")
MsgBox "Beberapa kode (Objek VBA) dihapus dari database atas permintaan pengguna", vbCritical, "remove object"
End Sub

UserForm1 adalah sebuah objek yang akan dihapus, dengan asumsi dalam projek VBA Anda terdapat sebuah userform dengan name UserForm1 - karena jika tidak terdapat userform dengan nama tersebut, maka kode ini tidak bisa dijalankan dengan semestinya.

Ganti text warna merah dengan objek yang terdapat dalam ProjectVBA Anda yang ingin dihapus.

Tidak ada komentar:

Posting Komentar