Prasyarat:
Menggunakan Macro VBA pasti akan sering digunakan untuk mengisi cells atau range, baik dengan cara langsung didalam worksheet atau melalui Userform.
Pada materi VBA dasar sebelumnya, kita sudah mempelajari assigment dan juga Hirarki Object pada VBA.
Untuk mengisi nilai kedalam sebuah sheet tidak akan jauh dari dua materi tersebut.
Dengan menggunakan VBA kita bisa mengisi nilai ke dalam worksheet dengan 2 metode.
Cara pertama adalah dengan menggunakan metode Cells, sintak dari metode cells ini adalah
cells(Baris,kolom).value = isi
Baris
diisi dengan Index baris dan kolom
diisi dengan index kolom yang mau diisi
Contoh : Misalnya ingin mengisi Cell B3 dengan isian “Saya belajar Excel” maka scriptnya adalah
Sub MengisiCells() Cells(3,2).value = "Saya belajar Excel" End Sub
Dimana 3 adalah baris ke 3 dan 2 adalah kolom ke 2 yaitu kolom B.
Untuk memudahkan penulisan, Index kolom juga bisa ditulis dalam notasi Abjad, misalnya 2 diganti dengan “B”. Untuk contoh penulisan scriptnya bisa ditulis seperti dibawah ini
Sub MengisiCells() Cells(3,"B").value = "Saya belajar Excel" End Sub
Script diatas akan sama mengiisi cells B3 jadi penulisan Cells(3,2) dan juga Cells(3,”B”) adalah sama.
Sebagai catatan, pada script diatas tidak disebutkan nama Worksheet, itu artinya nilai disimpan pada Sheet yang aktif.
vba.co.id
Cara kedua adalah dengan menggunakan metode Range, sintak dari range ini adalah
range("NamaRange").value = isi
Range diisi dengan alamat range dari cells yang ingin diisi
Contoh: Misalnya ingin mengisi Cell B3 dengan isian “Saya belajar Excel”
Maka scriptnya bisa ditulis dengan notasi.
Sub MengisiCells() range("B3").value = "Saya belajar Excel" End Sub
Saat dijalankan script diatas maka akan mengiisi Cells B3 dengan isian “saya belajar Excel”.
Selain dengan menggunakan A1 Notasi, pada range juga bisa menggunakan Nama range (Range yang sudah diberi nama menggunakan Name Manager).
Sub MengisiCells() range("tempat").value = "Saya belajar Excel" End Sub
Kata “Tempat” adalah nama yang sudah ditambahkan melalui Name manager.
Seperti yang sudah dipelajari dimateri Hirarki Object Model, contoh script diatas baik itu cells atau range tidak menyebutkan nama sheetnya secara explicit.
Itu artinya sheet yang tuju adalah sheet yang aktif.
Jawaban :
Sub MengisiCells() range("D3").value = range("F5").value End Sub
Cara diatas cara kerjanya sama seperti copy paste dari F5 ke D3 tetapi secara prosesnya berbeda, script diatas menggunakan assignment (penugasan).
Jawaban :
Sub MengisiCells() worksheets("Sheet2").range("D3").value = worksheets("Sheet3").range("F5").value End Sub
Jawaban :
Private Sub CommandButton1_Click() worksheets("Sheet2").range("A3").value = Textbox1.Value End Sub