Bagaimana caranya menciptakan macro (VBA) yang dapat entry data dari worksheet1 dan data tersebut disimpan atau dimasukan kedalam sheet2 melalui macro (VBA). Kenapa dilakukan demikian? Oke saya akan bahas kembali. Ketika Anda mengentri data dalam sebuah aplikasi biasanya aplikasi tersebut mempunyai ruang atau kawasan penyimpanan datanya yang disebut dengan database. Nah dalam kasus ini saya akan menciptakan 2 buah worksheet yang pertama yakni dipakai untuk entru data dan yang kedua dipakai untuk menyimpan data (sebagai databasenya).
Jika artikel terdahulu saya menciptakan sebuah entry data memakai UserForm (Form Control) dengan coding VBA dan kali ini saya buatkan sheet1 sebagai form controlnya sedangkan untuk sheet2 dipakai sebagai kawasan menyimpan datanya. Kaprikornus Anda akan diajak mengentry data melalui cell yang telah disiapkan di sheet1 dan apabila Anda bandingkan dengan userform cell ini dianggap sebagai textbox.
Okeh mari kita mulai
Langkah pertama Anda buatkan menyerupai halnya melihat aplikasi-aplikasi yang pernah Anda lihat atau gunakan contohnya saya contohkan sederhana formnya menyerupai berikut ini
Form Entry data diatas berada pada worksheet1 dengan field yang sederhana ada 3 yaitu Nomor Peserta, Nama, serta Jenis Kelamin kemudian saya tambahkan tombol "simpan" tombol simpan ini saya buat melalui sajian Developer kemudian form control Button.
Sub Copykan()Penjelasan Coding:
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")
copySheet.Range("D4:D6").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Dari coding diatas saya buatkan sebuah module yaitu Module1 dengan Prosedure "Copykan"
Simak Juga :
Coding Simpan Data Ke Database Melalui UserForm
Application.ScreenUpdating = False
Artinya : Coding ini tidak akan menampilkan apa-apa pada layar monitor padahal jadwal telah dilakukan untuk menampilkannya Anda dapat merubahnya dengan TRUE
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Coding diatas merupakan pendefinisian terhadap worksheet yaitu copySheet dan pasteSheet dan keduanya mempunyai typedata Worksheet
Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")
Setelah saya definisikan kemudian saya akan menset bahwa copySheet merupakan worksheet "Sheet1" sedangkan pasteSheet merupakan "Sheet2"
copySheet.Range("D4:D6").Copy
dan koding diatas merupakan instruksi untuk mengcopy data dengan alamat range D4:D6 yang ebrada pada sheet1
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
Sedangkan coding yang ini merupakan coding untuk mempaste hasil copyan diatas kedalam sheet2 dengan kondisi dibawah cell A1 dengan type paste nya yakni paste Istimewa dan transpose artinya data yang tadinya vertikal dicopy menjadi data yang horizontal dan tentunya akan diisi kembali apabila dibawah baris yang ada isinya pada cell A2 tersebut.
Application.CutCopyMode = False
Merupakan tindakan atau coding yang tidak menampilkan marque copy maupun cut sehingga tidak akan terlihat namun proses tetap dilakukan
Application.ScreenUpdating = True
Nah kalo koding yang ini aplikasi tidak akan menampikan apa-apa alasannya SreenUpdating mempunyai type TRUE Anda dapat menggantinya menjadi FALSE.
Setelah coding diatas Anda ketikkan silakan panggil macronya melalui Button1 yang telah diganti dengan goresan pena "SIMPAN" untuk cara memanggil macro sudah pernah saya bahas silakan baca-baca kembali
Baca Juga :
Cara Memasukan Data pada Sheet yang Berbeda
Selesai.
Semoga bermanfaat dan goresan pena ini mudah-mudahan dapat menjawab pertanyaan teman saya pak PERU DERISBURMAN dan Pak SUYATNO biar ilmunya terus berkembang.
Pelajari Bagaimana :
Cara Menghapus Data Dari Database Melalui Tombol Sumber http://www.excel-id.com/