Buka Visual Basic File Aplikasi Data (download di Posting Tombol Simpan VBA Excel)
Buat 1 buah CommandButton ubah Name "CmdEdit" ubah Caption "EDIT" Melalui
Properties
Klik Kanan pilih View Code CmdEdit masukkan kode dibawah ini
End With
End If
Call ListDB
MsgBox "Data Telah DiRubah...", 64, "Aplikasi Data"
Else
Call CmdBatal_Click
MsgBox "Batal Edit Ya...", 64, "Aplikasi Data"
End If
End Sub
Google Face
Home VBA Script Input, Edit, Reset Dan Move Untuk Newbie
Kali ini saya ingin berbagi artikel lagi tentang Excel VBA, yaitu tentang sourcecode atau dalam bahasa
Jawanya Script. Script yang sering di pakai sehari-hari oleh seorang programer untuk membuat aplikasi.
Karena saya masih newbie maka artikel ini juga untuk pembaca yang baru belajar Excel VBA. Ok langsung
aja kita meluncur ke TKP :
Yang pertama saya akan tunjukkan dulu gambar sheet databasenya :
Keterangan :
Untuk menghemat memori biasakan pake rumus " Offset "
1. Pada Tab Formulas => Define Name => Namenya tulis : " Kode " lalu rumus formulanya :
" =OFFSET(Sheet2!$A$4;0;0;COUNTA(Sheet2!$A:$A)-1;2)"
2. Pada Tab Formulanya tulis lagi namenya : " Barang " lalu rumus formulanya :
" =OFFSET(Sheet1!$A$2;0;0;COUNTA(Sheet1!$A:$A)-1;3)"
Nah sekarang untuk sheetnya dah selesai. Lalu kita menginjak pada scriptnya.
Langkah yang kedua adalah kita membuat Form terlebih dahulu. Untuk cara membuat Formnya tidak
saya jelaskan disini, karena saya menganggap pembaca semua sudah mengerti bagaimana cara membuat
Formnya. Sepertinya semua dah beres tinggal script yang belum.
Script Input Data :
Script Reset :
Script Pindah :
Akhirnya selesai juga bagaimana cara membuat Aplikasi tentang Input Data, Edit Data dll.
Semoga bermanfaat, Salam
KodeSiswa = txtKodeSiswa.Text
Set CellTujuan = Range("B:B").Find(What:=KodeSiswa)
If Not CellTujuan Is Nothing Then
txtNamaSiswa.Text = Cells(CellTujuan.Row, 3)
cmbProgramStudi.Text = Cells(CellTujuan.Row, 4)
If Cells(CellTujuan.Row, 5) = "Laki-laki" Then
optLakiLaki.Value = True
ElseIf Cells(CellTujuan.Row, 5) = "Perempuan" Then optPerempuan.Value = True
End If
txtTempatLahir.Text = Cells(CellTujuan.Row, 6)
Else
MsgBox "Tidak Ada Hasil !"
End If
End Sub
baris = WorksheetFunction.CountA(Range("B:B"))
baris = baris + 1
Cells(baris, 2) = txtKodeSiswa
Cells(baris, 3) = txtNamaSiswa
Cells(baris, 4) = cmbProgramStudi
If optLakiLaki = True Then
Cells(baris, 5) = "Laki-laki"
ElseIf optPerempuan = True Then
Cells(baris, 5) = "Perempuan" End If
Cells(baris, 6) = txtTempatLahir
Cells(baris, 7) = txtTanggalLahir
End Sub
Private Sub cmdUbah_Click() Dim KodeSiswa
KodeSiswa = txtKodeSiswa.Text
End If
KodeSiswa = txtKodeSiswa.Text
Set CellTujuan =Range("B:B").Find(What:=KodeSiswa)
Rows(CellTujuan.Row).Delete Shift:=xlUp
End Sub
Filter data dengan textbox hasil didalam listbox
Filter data digunakan unutk mencari data tertentu pada data yang anda miliki dalam workbook yang
sudah mencapai ribuan baris atau labih, filter data bisa dilakukan langsung dengan cara menekan
kompbinasi tombol Ctrl dan tombol F ( Ctrl + F ), namun jika ingin tampil berbeda anda bisa melakukan
filter data dengan fitur ataufungsi buatan sendiri, berikut ini caranya
Download terlebih dahulu file latihannya pada link download dibawah ini
Langkah selanjutnya tekan tombol Alt kemudia tekan tombol F11 pada keybord anda guna masuk
kejendela Visual basic editor
Lihat menu bar atas, pilih Insert dan Tambahkan Userform
Kemudian pada objek userform masukan kontrol Textbox, Commandbutton, dan listbox
Jika sudah maka tampilanya sebagai berikut
Sampai disini kita pahami terlebih dahulu apa yang akan anda filter dan kriteria apa yang akan anda
gunakan sebagai keyword untuk menfilter, disini saya akan menfilter database yang ada pada sheet
"Data" dengan keyword "Nama Siswa" yang ada pada kolom A.
Perhatikan pada kolom J, perhatikan lagi pada kolom J baris ke 2 (J2), perhatikan pada kolom A baris ke 2
(A2).
Sebelum membuat filter data, berikut ini adalah kode macro untuk menampilkan semua data yang
ada disheet "Data"
Sub TampilkanSemua()
Set wsDtbsPlgn = Sheets("Data")
ListBox1.Clear
ListBox1.ColumnCount = 6
ListBox1.ColumnWidths = 80 & ";" & 25 & ";" & 35 & ";" & 65 & ";" & 120
Set rgTampil = wsDtbsPlgn.Range("A1:A100").SpecialCells(xlCellTypeVisible)
For Each i In rgTampil
With ListBox1
.AddItem
.List(.ListCount - 1, 0) = i.Value
.List(.ListCount - 1, 1) = i.Offset(0, 1).Value
.List(.ListCount - 1, 2) = i.Offset(0, 2).Value
.List(.ListCount - 1, 3) = i.Offset(0, 3).Value
.List(.ListCount - 1, 4) = i.Offset(0, 4).Value
End With
Next i
End Sub
Selanjutnya berikut adalah kode macro untuk membuat filter data dengan textbox kemudian hasil
filter ditampilkan kedalam Listbox, letakan kode macronya kedalam event Commandbutton klik
Sekarang untuk mencobanya, tekan F5, masukan kata "Sukardi" pada textbox kemudian klik tombol
Cari, lihat hasilnya
Keterangan Kode macro Filter data dengan textbox hasil didalam listbox
Perhatikan contoh kode macro dibawah ini yang saya ambil dari kode macro diatas
Jika seandainya kita membuang tiga baris pertama maka kode macronya bisa menjadi seperti ini
Sheets("Data").Range("A2:G100").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Sheets("Data").Range("J2:J3")
Dengan kata lain kode macro Sheets("Data").Range("A2:G100") merupakan database yang kita miliki
terletak disheet "Data" pada kolom A2 sampai G100, jika data yang anda miliki lebih dari itu maka
silahkan rubah sesuai kebutuhan, misalnya data yang anda miliki adalah dari kolom A1 sampai Y1000,
dan seterusnya.
Kemudian kode macro Sheets("Data").Range("J2:J3") merupakaan tempat tujuan filter Perhatikan pada
kolom J, perhatikan lagi pada kolom J baris ke 2 (J2), perhatikan pada kolom A baris ke 2 (A2).
Filter tidak akan berfungsi jika dalam satu database terdapat baris kosong, berikut ini contoh database
yang salah sehingga filter terkadang error
Sedangkan database yang benar sebagaimana data pada file yang sudah anda download diatas
Silahkan download file hasil Filter data dengan textbox hasil didalam listbox pada link download dibawah
ini agar anda lebih dapat memahami artikel kali ini, semoga bermanfaat.