Mengenal Object Model Pada VBA Excel #10
Object VBA Excel - Artikel ini merupakan seri ke-10 yang membahas ihwal Macro VBA Excel. Sebelum melanjutkan membaca sebaiknya Anda sudah akhir mempelajari 9 tutorial VBA Excel sebelumnya yang mampu Anda temukan pada halaman berikut: Seri tutorial VBA Excel.
Pada seri ini Kelas Excel akan membahas mengenai Object VBA Excel.
Tentang Object Oriented Progamming (OOP)
Perlu Anda tahu bahwa VBA Excel merupakan bahasa pemrograman yang berorientasi pada object (Object Oriented programming) atau disingkat OOP. Bagi yang sudah terbiasa dengan pemrograman kami yakin istilah OOP ini sudah tidak aneh lagi.
Untuk yang masih awam barang kali akan bertanya "Apa yang dimaksud dengan pemrograman berorientasi object?"
OOP (Object Oriented acaraming) atau pemrograman berorientasikan objek (PBO) ialah suatu metode pemrograman yang berorientasi kepada objek. Tujuan adanya OOP ialah untuk mempermudah developer dalam mengembangkan sebuah acara atau aplikasi dengan Tutorial mengikuti model yang telah ada dalam kehidupan sehari-hari.
Dalam kehidupan sehari-hari, Anda mampu membayangkan objek yaitu sebuah benda dengan fungsi tertentu. Handphone sebagai alat komunikasi contohnya. Sebuah objek dapat tersusun atas beberapa objek lain yang lebih kecil. Pada teladan Handphone contohnya terbuat atas keypad, monitor, baterai, casing, dan piranti piranti kecil lainnya yang masing-masing tentunya juga mempunyai pecahan-bagian penyusun lainnya.
Mengenai OOP (Object Oriented acaraming) ini silahkan Anda mencari isu lebih lanjut di Google.
Microsoft Excel Object
Object pada Excel yaitu Sebuah bentuk benda pada aplikasi excel yang berisi sekumpulan data serta mencerminkan sesuatu dan kemampuan melaksanakan sesuatu atau merespon perlakuan terhadapnya sebagai satu kesatuan.
Bentuk Object Excel yang sering akan digunakan contohnya workbook, worksheet, range, cell, chart dan lain sebagainya.
Member Object
Masing-masing objek pada VBA Excel umumnya mempunyai ciri, potensi dan respon-respon tertentu dimana satu dan lainnya saling terkait.
Komponen sebuah object ini disebut sebagai member. Penyusunnya mampu berupa nilai-nilai atribut tertentu, object-object lainnya, mekanisme untuk melaksanakan sesuatu atau untuk mendapat respon perlakuan terhadap objek tersebut.
Member-member object tersebut dapat dikelompokkan menjadi 3 penggalan, yaitu :
- Property
- Data yang memperlihatkan ciri khusus atau penggalan sebuah object. Biasa digunakan untuk mengatur atau mengambil nilai sebuah object.
- Methods
- Merupakan sebuah mekanisme atau fungsi untuk melaksanakan sebuah peran tertentu pada object
- Events
- Merupakan sebuah prosedur atau fungsi yang dipicu dikala sebuah event, bencana atau aktifitas tertentu terjadi pada object.
Sebuah worksheet misalnya mempunyai:
- Property: Name, Columns, Rows, Range, Cells, Comments, PageSetup, AutoFilter dan lain sebagainya.
- Methods: Activate, Calculate, Copy, Paste, PasteSpecial, Delete, Move, PrintOut, PrintPreview, Protect, dll.
- Events: Activate, BeforeDelete, BeforeDoubleClick, Change, Deactivate, SelectionChange, dll.
Anda dengan mudah dapat mengetahui setiap object dan member-membernya dengan membuka Object browser pada VBE memakai shortcut F2 atau tombol yang tersedia pada standart toolbar.
Tentang VBE sudah kita ulas sebelumnya. kalau belum Anda baca bisa Anda pelajari pada halaman berikut: Visual Basic Editor.
Masing-masing jenis member mampu pada object browser diatas mampu Anda kenali dari ikon-ikon yang ada di sebelah nama member terkait. penjelasan mengenai ikon lain pada object browser ini bisa Anda baca pada halaman Docs Microsoft ini.
Collection VBA
Saat membuka Object Browser pada VBE jangan heran kalau Anda menemukan ada object Worksheet (tanpa "s") dan Worksheets (dengan "s") atau Workbook dan Workbooks.
Selain object yang ada wujudnya, Excel juga mengenal Object yang berbentuk wadah atau koleksi dari object yang sama. Object semacam ini biasa disebut sebagai collection.
Jadi Collection juga merupakan sebuah object yang tujuannya yaitu untuk mengelompokkan object-object lain yang memiliki Class yang sama.
Contoh Collection pada VBA Excel yang umum digunakan misalnya:
- Workbooks: Koleksi satu atau beberapa workbook yang sedang di buka.
- Worksheets: Koleksi satu atau beberapa worksheet sebuah workbook excel.
- Charts: Koleksi sekumpulan chart pada sebuah workbook.
- Sheets: Kumpulan Worksheet dan juga termasuk Chart pada sebuah workbook.
Hirarki Object VBA
Object-object pada microsoft excel tersusun atas hirarki dari bagian yang lebih besar atau terluar menuju belahan-bagian penyusun yang lebih kecil (lebih dalam) dari semua objek yang mampu Anda gunakan pada pemrograman VBA Excel.
Object terbesar atau terluar dari sebuah aplikasi adalah Application atau aplikasi itu sendiri yang dalam hal ini ialah atau Microsoft Excel sendiri. Meskipun demikian bukan berarti Application merupakan object tertinggi sebab excel sendiri pada dasarnya juga mampu berinteraksi dengan aplikasi yang lain.
Object Application (Excel) memuat beberapa object lain misalnya: AddIn, Windows dan Workbooks.
Masing-masing object ini mampu memuat juga beberapa object lainnya. contohnya pada object Workbook dapat memuat object:
- Charts yang berisi object-object chart
- Names yang berisi nama-nama object
- VBProjects yang mewakili project pada workbook yang sedang terbuka.
- Windows yang pada level ini memuat object Window pada sebuah workbook tertentu.
- Worksheets yang memuat object Worksheet.
Selanjutnya sebuah object worksheet mampu memuat object lain, contohnya:
- Comment: memuat komentar cell.
- Hyperlink: memuat hyperlink
- Name: Memuat nama range atau defined name.
- PageSetup: Memuat isu pengaturan halaman print.
- PivotTables: Memuat object PivotTable.
- Range: Memuat cells, rows, columns, selections dan lain-lain.
Hiraraki diatas tentu saja hanya sekedar teladan, faktanya cukup banyak object-object lain yang salahsatunya bisa Anda pelajari pada halaman microsoft berikut: Object Model.
Memahami alur hirarki object ini cukup penting sebab hirarki ini akan menentukan bagaimana aba-aba vba kita susun untuk memakai setiap object yang kita perlukan sehingga tidak salah alamat.
Misalnya bagaimana memanipulasi cell A1 untuk kita isi teks "Belajar VBA" pada sheet1, jangan hingga balasannya malah kesasar muncul di Cell A1 pada Sheet2. Juga bagaimana kalau kita bermaksud memasukkan teks "Kelas Excel" pada cell A1 pada worksheet manapun yang sedang aktif.
Lalu bagaimana Tutorial menggunakan object-object VBA excel ini?
Cara menggunakan Object VBA Excel
Memahami Tutorial merujuk sebuah object dikala menyusun aba-aba VBA Excel sangatlah penting. sebab bagaimanapun saat menulis instruksi VBA Excel, Anda harus mamapu mengidentifikasi setiap object yang akan dimanipulasi atau digunakan.
Seperti yang dijelaskan sebelumnya bahwa object mempunyai hirarki dari terluar sampai terdalam sesuai daftar member dan peta object tersebut.
Setiap penggunaan property atau methods dari object yang akan digunakan selalu diawali dengan menyebut nama object terluar menuju object terdalam atau lebih kecil hingga tiba pada property atau methods yang diperlukan. Untuk menghubungkan masing-masing object tersebut menggunakan tanda titik.
Sintaksisnya seolah-olah berikut:
ObjectTerluar.Object1.Object12.Object123.ObjectLainnya.(property/methods)
Misal untuk sampai pada methods Activate pada object Range Anda membutuhkan untuk mengakses arahan berikut:
Application.Workbooks.Worksheets.Range.Activate
Dimana Application yaitu object terluar excel kemudian Workbooks yaitu object didalam Application dan seterusnya hingga pada methode Activate yang dimiliki oleh Range.
Karakter titik atau dot(.) pada penulisan kode diatas merupakan instruksi untuk menghubungkan antar object satu dengan object lain pada hirarki di bawahnya.
Jangan tergesa-gesa dulu. kalau benar-benar Anda tulis aba-aba diatas hasilnya yaitu sebuah error. arahan di atas sebatas kerangka dasar saja untuk membantu memahami bagaimana Tutorial merujuk pada sebuah object VBA Excel.
Referensi Pada Collection Object
Kemungkinan besar saat membuat atau menulis instruksi VBA Anda akan sering bersentuhan dengan collection.
Selain membuat tumpuan pada sebuah object collection secara utuh Anda juga mampu menentukan merujuk pada sebagian isi pada collection. Setidaknya Anda dapat melakukannya dengan 2 Tutorial: Menggunakan nama objek atau nomor indexnya pada collection.
Menggunakan Nama Object
Untuk mengakses Collection dengan nama object sitaksisnya yaitu sebagai berikut:
NamaCollections(Nama_Object)
- Tulis Nama Collection diikuti dengan tanda kurung ()
- Nama Object dituliskan didalam Tanda kurung dengan di apit tanda petik.
Contohnya pada sebuah workbook dengan nama "Laporan.xlsm" terdapat 3 worksheet dengan nama Sheet1, Sheet2 dan Sheet3. Untuk menggunakan method Activate pada sheet 2 codenya adalah:
Application.Workbooks("Laporan.xlsm").Worksheets("Sheet2").Activate
atau
Application.Workbooks("Laporan.xlsm").Sheets("Sheet2").Activate
Maksud arahan diatas adalah mengaktifkan Sheet2 pada file Laporan.xlsm yang sedang terbuka.
Menggunakan Nomor Index Object
Selain memakai nama object, Anda dapat juga mengakses Collection dengan nomor indexnya. Sintaksisnya ialah sebagai berikut:
NamaCollections(NO_Index_Object)
- Tulis Nama Collection diikuti dengan tanda kurung ()
- Nomor Index dituliskan didalam Tanda kurung tanpa tanda petik.
Dengan nomor Index, untuk pola sebelumnya bisa Anda gunakan kode berikut:
Application.Workbooks("Laporan.xlsm").Worksheets(2).Activate
atau
Application.Workbooks("Laporan.xlsm").Sheets(2).Activate
Menyederhanakan Penulisan rujukan Pada Object
Jika sebuah referensi pada object ditulis sepenuhnya seakan-akan Tutorial di atas, tentunya instruksi VBA yang kita tulis akan sangat panjang. Selain memperlambat penulisan kode kemungkinan model semacam itu juga malah akan mempersulit kita dikala membaca arahan. Meskipun dalam perkara tertentu boleh Kaprikornus malah sebaliknya.
Untuk itu ada beberapa Cara untuk menyederhanakan instruksi penulisan atau menciptakan rujukan pada sebuah object VBA Excel.
Konsep sederhanya adalah bahwa jikalau sebuah rujukan object tidak ditulis secara utuh dari object yang paling luar, maka VBA akan mengasumsikan Anda bermaksud merujuk pada object-object yang sedang aktif.
Object Application
Saat bekerja dengan excel maka object defaultnya adalah Application. Kemungkinan besar yang Anda maksudkan disini yaitu excel itu sendiri sehingga Anda tidak perlu mereferensikan object Application.
Untuk menyederhanakan penulisan isyarat sebelumnya Anda mampu tidak menyertakan Application. Cukup ditulis sebagai berikut:
Workbooks("Laporan.xlsm").Worksheets("Sheet2").Activate
The Active Workbook and Worksheet
Jika Anda sedang menulis isyarat VBA Excel pada standart module maka secara default VBA akan menganggap object luar yang Anda tuju yaitu workbook yang sedang aktif. Sehingga arahan sebelumnya bisa Anda sederhanakan menjadi:
Worksheets("Sheet2").Activate
Jika Anda bermaksud merujuk pada workbook lain tentu harus ditulis lebih lengkap.
Begitu pula kalau Anda bermaksud bekerja dengan sebuah object Range. kalau ditulis secara sederhana maka VBA secara default menganggap yang Anda tuju ialah range pada worksheet yang aktif, misalnya:
Range("A1") = "Kelas Excel"
Kode ini kalau dijalankan akan mengisi cell/range A1 pada worksheet yang aktif dengan teks "Kelas Excel".
Model penyederhanaan ini tentu Ada resikonya, yaitu terjadinya salah alamat ketika isyarat dijalankan. Untuk itu Anda harus benar-benar jeli dalam peulisan instruksi VBA.
Selain itu, penyederhanaan diatas hanya berlaku pada module Standart. kalau Anda menuliskan arahan pada module Sheet atau Workbook maka VBA secara default selalu menganggap Anda sedang menargetkan worksheet atau workbook dimana isyarat tersebut ditulis.
Cara lain untuk menyederhanakan penulisan isyarat VBA ialah dengan memakai arahan blok perintah With... End With yang akan dijelaskan lain waktu.
Untuk seri tutorial VBA perihal Object kali ini admin kira cukup sampai disini dulu. kalau Masih ada pertanyaan silahkan disampaikan melalui kolom komentar yang tersedia.
Sampai jumpa pada seri berikutnya dan silahkan dibookmark serta jangan ragu untuk klik share semoga lebih banyak kawan-kawan Anda yang ikut menerima manfaatnya.
Selamat belajar.
Salam Kelas Excel.
Komentar
Posting Komentar