Cara Membuat Form Input di VBA Excel
Pada artikel kali ini Saya akan berbagi trik yaitu bagaimana cara membuat Form Input di VBA Excel dengan menggunakan Microsoft Excel.
Artikel ini pada awalnya terinspirasi dengan program Visual Basic 6.0 dimana kita dapat membuat sebuah Form Input dengan perintah Tambah Hapus Delete dan lain-lain atau yang lebih dikenal dengan program CRUD.
Namun pada kali ini kita akan membuat program CRUD dengan MS. Excel dengan menggunakan kode VBA. Berikut dibawah ini adalah Gambar hasil dari Program CRUD di MS.Wxcel dengan VBA :
|
Program CRUD dengan VBA Excel |
Bagaimana apakah Anda tertarik untuk membuatnya,berikut adalah langkah-langkahnya agar Anda tidak tersesat :
A. Membuat Desain Sheet
Buka Excel Anda, kemudian desain Sheet seperti Gambar dibawah ini :
|
Desain sheet |
* Perhatikan posisinya harus sama seperti gambar diatas
* Untuk menambahkan Command Input seperti Gambar diatas : buka Tab Developer >>Pilih Insett>>Pilih Button, drag dan tempatkan button sesuai keinginanan,kemudian Edit Button1 menjadi Form Input
Setelah sama dengan desain Gambar diatas, langkah selanjutnya adalah membuat Form :
B Cara Membuat Form Input
Klik Tab Developer>>Pilih Visual Basic>>Pilih Insert>>Use Form
Pada Form1 beri Name: FormInput
Kemudian Desainlah seperti gambar dibawah ini :
|
Desain Form Input |
Agar form sama seperti gambar diatas, ikuti petunjuk keterangan dibawah ini :
No |
Toll Box |
Properties |
Keterangan |
1 |
Label1 |
Caption : ID Barang |
2 |
Label2 |
Caption : Nama Barang |
3 |
Label3 |
Caption :Jenis Barangr |
4 |
Label4 |
Caption :Harga Barang |
5 |
TextBox1 |
Name :TBIDBarang |
6 |
TextBox2 |
Name :TBNamaBarang |
7 |
ComboBox1 |
Name:CBJenisBarang |
8 |
TextBox3 |
Name:TBHargaBarang |
9 |
Frame1 |
Caption : Tombol |
10 |
CommandButton1 |
Caption : Load |
Name :BTLoad |
11 |
CommandButton2 |
Caption: Keluar |
Name:BTKeluar |
12 |
CommandButton3 |
Caption : Hapus |
Name:BTHapus |
13 |
CommandButton4 |
Caption :Batal |
Nane:BTBatal |
14 |
CommandButton5 |
Caption : Simpan |
NameBTSimpan |
Setelah mendesain Form seperti petunjuk diatas, lalu copy-paste kode dibawah ini dengan cara doubel klik form area kosong, lalu copy-Paste kode dibawah ini :
Private Sub BTBatal_Click()
Call BersihForm
TBIDBarang.Text = BuatID
End Sub
Private Sub BTHapus_Click()
Dim DBarea As Range
Dim HC As Range
If TBIDBarang.Text = "" Then
MsgBox "Silahkan isi ID Barang!", vbInformation, MyApp
Exit Sub
End If
Set DBarea = Sheet1.Range("B2:B" & GetBaris)
Set HC = DBarea.Find(TBIDBarang.Value, , xlValues, xlWhole)
If HC Is Nothing Then
MsgBox "Data ID Barang tidak ditemukan!", vbInformation, MyApp
Else
HC.EntireRow.Delete
MsgBox "Data berhasil Disimpan!"
End If
TBIDBarang.Text = BuatID
Call Urut
End Sub
Private Sub BTKeluar_Click()
Unload Me
End Sub
Private Sub BTLoad_Click()
Dim DBarea As Range
Dim HC As Range
If TBIDBarang.Text = "" Then
MsgBox "Silahkan Isi ID Barang", vbCritical, MyApp
Exit Sub
End If
Set DBarea = Sheet1.Range("B2:B" & GetBaris)
Set HC = DBarea.Find(TBIDBarang, , xlValues, xlWhole)
If HC Is Nothing Then
MsgBox "ID barang Tidak ditemukan", vbInformation, MyApp
BersihForm
TBIDBarang.Text = BuatID
Else
TBIDBarang.Text = HC.Value
TBNamaBarang.Text = HC.Offset(0, 1).Value
CBJenisBarang.Text = HC.Offset(0, 2).Value
TBHargaBarang.Text = HC.Offset(0, 3).Value
End If
End Sub
Private Sub BTSimpan_Click()
Dim Baris As Long
Dim IsiData As Variant
Dim DBarea As Range, HC As Range
Set DBarea = Sheet1.Range("B2:B" & GetBaris)
Set HC = DBarea.Find(TBIDBarang, , xlValues, xlWhole)
If HC Is Nothing Then
Baris = GetBaris + 1
Else
Baris = HC.Row
End If
IsiData = Array(Baris - 1, TBIDBarang.Value, TBNamaBarang.Value _
, CBJenisBarang.Value, TBHargaBarang.Value)
Sheet1.Range("A" & Baris).Resize(1, 5).Value = IsiData
MsgBox "Data berhasil diSimpan!", vbInformation, MyApp
Call BersihForm
TBIDBarang.Text = BuatID
End Sub
Private Sub UserForm_Initialize()
CBJenisBarang.RowSource = Sheet1.Range("L2:L4").Address
Call BersihForm
TBIDBarang.Text = BuatID
End Sub
Private Sub BersihForm()
TBIDBarang.Text = vbNullString
TBNamaBarang.Text = vbNullString
CBJenisBarang.Text = vbNullString
TBHargaBarang.Text = vbNullString
End Sub
Private Function BuatID() As String
Dim Baris As Long
Dim IDLama As String
Baris = GetBaris
If Not Baris = 1 Then
IDLama = Sheet1.Range("B" & Baris)
Baris = CLng(Right(IDLama, 5)) + 1
End If
BuatID = "ID" & Format(Baris, "00000")
End Function
Private Sub Urut()
Dim i As Long
For i = 2 To GetBaris
Sheet1.Range("A" & i).Value = i - 1
Next i
End Sub
Kemudian Tambahkan Module dengan cara Insert >>Module, maka akan ada Module1.
Pada pada module1 ketik kode dibawah ini :
Sub Button1_Click()
FormInput.Show
End Sub
Tambahkan 1 Module lagi yaitu Module2, lalu ketik kode lalu ketik kode dibawah ini pada bagian General_Declaration
Const MyApp As String = "Data Input"
Function GetBaris() As Long
GetBaris = Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp).Row
End Function
:
Setelah kode semua diisi sekarang RUN program Anda dengan cara klik arah panah hijau pada ToolBar atau Anda bisa menjalankan lewat Sheet Anda dengan cara klik Button "Form Input"
*Untuk Menghapus data cari terlebih dahulu kodenya dengan mengetik kode dan tekan "Load"
Demikinalah artikel kali ini membahas tentang Cara Membuat Form Input di VBA Excel, semoga bermanfaat buat kita semua. Amin.
Selamat mencoba semoga sukses.
Bila ada sesuatu yang ingin ditanyakan silahkan isi dalam komentar
Related Post:
VBA Excel
1 comment:
Kaya kenal nih
Post a Comment