CRUD Form Worksheet Table

Membuat Userform input dengan data penyimpanan di Excel dengan Format table tentu akan berbeda dalam pembuatannya dengan Excel yang bertipe range.

Karena Table adalah sebuah object, tentu saja dalam scriptnya akan banyak menggunakan object.

Object yang digunakan namanya adalah Listobject.

Seperti yang sudah dijelaskan pada CRUD dengan Worksheet Range, untuk membuat Aplikasi ini ada beberapa tahap yang harus dilalui

Tahap 1: Database

Proses pembuatan database bisa langsung dibuat di Worksheet Excel dengan menggunakan Format table.

Untuk Format Table bisa ditambahkan melalui InsertTable.

Kemudian buat data seperti dibawah ini

Setelah table dibuat, yang perlu diperhatikan adalah nama dari tablenya, ini harus diingat karena nanti akan digunakan didalam coding.

Tahap 2 : Design Form

Proses pembuatan Form masih sama caranya dengan metri sebelumnya dan tidak ada perbedaan.

Tambahkan beberapa control untuk kebutuhan Input sesuai dengan kebutuhan database.

Contoh Userform bisa dibuat seperti dibawah ini.

Tahap 3: coding

Pembuatan coding dimulai dari deklarasi Global untuk Object tabel,

Variable Tbl dibuat global agar bisa digunakan oleh banyak Subrutine

Const myApps As String = "Aplikasi Input Table"
Dim Tbl As ListObject

Selanjutkan coding dilanjutkan untuk mengisi combobox dan juga mengisi nama table yang digunakan, simpan script di Userform Initialize

Private Sub UserForm_Initialize()
CBJurusan.List = Array("Teknik", "Manajemen", "Bisnis")
Set Tbl = Sheet1.ListObjects("Table1")
End Sub
  • Create (Menyimpan Data)

Untuk menyimpan data bisa dibuat satu satu atau mengisi sekaligus dengan menggunakan array. Untuk mengisi dengan array script bisa dibuat seperti dibawah ini

Private Sub BTSimpan_Click()

Dim DTRow As ListRow
Dim Isi As Variant

If Tbl.ListRows(1).Range(1) = "" Then
    Set DTRow = Tbl.ListRows(1)
Else
   Set DTRow = Tbl.ListRows.Add
End If

'cara 1: Satu satu
'---------------------------
'DTRow.Range(1) = TBNim.Text
'DTRow.Range(2) = TBNama.Text
'DTRow.Range(3) = IIf(OPPerempuan, "Perempuan", "Laki-laki")
'DTRow.Range(4) = TBAlamat.Text
'DTRow.Range(5) = CBJurusan.Text

'cara 2: dengan array
Isi = Array(TBNim.Text, TBNama.Text, _
            IIf(OPPerempuan, "Perempuan", "Laki-laki"), _
            TBAlamat.Text, CBJurusan.Text)

DTRow.Range.Value = Isi

MsgBox "Data Berhasil disimpan!", vbInformation, myApps
End Sub
List Tutorial
Apa yang sedang kamu cari?

Temukan beberapa kata kunci yang diinginkan.

Search