Trik Mengubah Marker Colors Secara Dinamis Pada Line Chart Using VBA (Bag I)



Ba’da Isya (Jam 19:30 WIB)

Menulis sebuah artikel yang baik itu ternyata tidak mudah, minimal menurut saya. Butuh ketekunan dalam memilih dan menyusun kata-kata yang pas agar mudah dipahami dan dicerna oleh pembaca. Mungkin segala sesuatunya akan terasa mudah seandainya kita punya kebiasaan diri membaca dan menulis sedari dulu, sebagaimana mereka, para ‘Alim Rabbani yang saya kagumi, penjaga sunnah Nabi Shallallaahu ‘alaihi wa sallama yang begitu produktif menggoreskan tintanya ke dalam berbagai karya ilmiah nan bermanfaat (yang sulit tertandingi oleh orang-orang pintar zaman ini, red). Tidak cukup satu atau dua lembar tulisan saja, tapi berpuluh-puluh hingga ratusan jilid, hafal dan paham akan apa yang ditulisnya. Sebut saja diantara mereka; al-Imam Malik bin Anas pemilik kitab al-Muwaththa’, al-Imam Ahmad bin Hanbal pemilik kitab al-Musnad, al-Imam Ath-Thabari pemilik kitab Jami’ul Bayan Fii Tafsiril Qur’an, al-Hafizh Ibnu Kastir pemilik kitab Tafsir al-Qur’anul Azhim dan kitab tarikh al-Bidayah wa Nihayah, al-Imam al-Bukhari dan al-Imam Muslim pemilik kitab Jami’ ash-Shahih yang sangat terkenal, juga para pemilik kitab sunan yang lain semisal al-Imam an-Nasaa’i, al-Imam Abu Dawud, al-Imam Ibnu Majah, al-Imam At-Tirmidzi, al-Imam Ad-Darimi, atau pemilik kitab syarh hadits semisal al-Hafizh Ibnu Hajar (Fathul Bari bi Syarh Shahih al-Bukhari), al-Imam An-Nawawi (Syarh Shahih Muslim), al-Hafizh Ibnu Rajab (Jaami’ul ‘Ulum wal Hikam), al-Imam Ash-Shan’ani (Subulus Salaam) atau pemilik kitab al-Jarh wa Ta’dil semisal al-Imam Ibnu Hibban (Ats-Tsiqat), al-Hafizh Adz-Dzahabi (Mizan al-I’tidal) dan ratusan para aimmatus salaf lainnya. Tidak hanya melimpah, tulisan mereka juga sarat dengan manfaat. What’s the point?, saya hanya ingin mengatakan bahwa menulis satu atau dua lembar artikel yang baik dan bermanfaat saja rasanya sudah (berat), apatah lagi jika harus menulis berjilid-jilid (karya tulis) seperti mereka. Yang jelas butuh waktu untuk belajar, dan itu berproses. Well, sekedar paragraf pembuka saja sebelum masuk ke inti bahasan.

Jika dilihat dari sisi keterkaitan antara judul, kalimat pembuka, dan konten tulisan, bisa dipastikan kalau artikel ini tidak memenuhi kriteria (tulisan) ilmiah.. :D, nevermind. Langsung saja masuk ke topic bahasan, saya akan menulis sebuah trik yang berkaitan dengan grafik Excel menggunakan VBA, namun (kali ini) dengan tampilan yang sedikit berbeda (dari pembahasan sebelumnya). Barangkali ada yang bertanya, apa sih kelebihan (membuat) grafik menggunakan VBA?, perasaan grafik di Excel cuma begitu-begitu saja. Saya coba jawab, punten pisan jika kurang memuaskan. Yang pertama; lebih efisien. Bagi para blogger yang terbiasa membuat report, menghandle data mining, membuat dashboard, melakukan pengolahan dan analisis data dalam jumlah yang banyak, yang selama ini mengerjakan semuanya dengan cara manual (by Excel) akan mengetahui dan merasakan perbedaannya. Contoh kasusnya begini, katakanlah perusahaan kita memiliki 3 Branch yang tersebar secara geografis di beberapa wilayah. Masing-masing Branch tersebut memiliki 4 Sub Branch (jadi total ada 12 Sub Branch, red), dengan 3 Produk inti yang menjadi komoditi unggulan. Kepala Departemen meminta kita membuat report/laporan by Excel (karena recordnya yang banyak, red) disertai dengan grafik visualnya, agar lebih mudah memonitor pergerakan/pertumbuhan/trend penjualan Produk-Produk unggulan tersebut, daily & monthly base. Jika case-nya demikian, paling tidak kita harus membuat sedikitnya 45 grafik!. Itu baru untuk report penjualannya saja, belum untuk item yang lain semisal churn-nya, net add-nya, customer base-nya, stock-nya, distribusi-nya dll, belum lagi jika Branch dan Sub Branch-nya berjumlah lebih banyak, bisa membengkak menjadi ratusan grafik. Dengan mengoptimalkan fungsi VBA, kita tidak perlu lagi repot-repot membuat grafik (secara manual) satu persatu. Adapun alasan yang kedua; lebih efektif. Why?, bayangkan saja jika ke-45 grafik atau lebih tersebut kita masukan/tampilkan ke dalam report. Berapa lembar slide presentasi atau baris (rows) Excel yang akan kita gunakan?, Berapa lama waktu yang terbuang karena harus memindahkan dan merapikan grafik-grafik tersebut agar mudah dibaca?. Belum lagi kemungkinan atasan kita akan kebingungan mencari grafik yang dia butuhkan (saking banyaknya grafik yang ditampilkan, red). Seperti ketika Management meminta; “Tolong tunjukkan grafik penjualan produk B, yang daily, yang berada di Branch Bandung, yang terjual di Sub Branch Sumedang. Kami ingin melihat trend-nya” misalnya, yang terjadi (barangkali): ia akan menarik kursor mouse-nya ke atas dan ke bawah mencari-cari grafik yang dimaksud, bahkan situasinya bisa berubah semakin rumit jika ia belum sempat membaca dan memeriksa report yang dibuat bawahannya tersebut. Dengan menggunakan VBA, situasi diatas bisa diatasi. Kita bisa menampilkan seluruh grafik-grafik (yang berjumlah puluhan hingga ratusan) tersebut ke dalam satu tampilan grafik yang bisa berubah secara dinamis mengikuti pilihan (Branch, Sub Branch dan Produk/Item).

Ba’da hunting buah diskonan di Griya Jl. Sunda, Bandung (Jam 20:55 WIB)

Ok, saya lanjutkan. Grafik di bawah ini mengingatkan saya dengan satu mata kuliah yang dulu pernah saya ambil. Sebenarnya agak malas membicarakan mata kuliah tersebut karena punya memori buruk tentangnya.. :D (Dapet nilai C euy. Tapi saya anggap “C” disini bukan bermakna “cukup”, tapi “cakep”,.. menghibur dirilah.. hehe). Yang saya maksud adalah mata kuliah Quality Control. Coba perhatikan grafik monthly Traffic berikut..


Ada 2 garis merah bertipe “dot” atau titik-titik. Dua garis tersebut adalah ambang batas maksimal dan minimal. Garis yang berada di posisi atas adalah batas maksimal yang nilainya (dalam prosentase, red) 90%. Bagi team Network, traffic diatas 90% berarti “warning”, karena kapasitas BTS maksimum-nya mulai berkurang dan berpotensi mengganggu pelayanan (voice & SMS). Tapi bagi team Sales, itu adalah sebuah anugerah, cukup menggembirakan karena penjualan produk di lokasi BTS tersebut sukses besar. Begitu pula dengan sebagian besar pelanggan aktifnya, mereka melakukan transaksi dan menggunakan layanan (Voice, SMS, Broadband dll), impactnya: utilisasi traffic meningkat. Tidak hanya berhenti disitu saja, Revenue dan Recharge juga turut meningkat, secara otomatis pula pendapatan perusahaan akan meningkat. Karena KPI-nya tercapai, insentif yang didapat pun (secara matematis seharusnya) meningkat, nah lo.. (ngarep.com). Sedangkan garis yang berada di posisi bawah adalah batas minimal yang nilainya (dalam prosentase, red) 50%. Bagi kedua team, baik Network maupun Sales & Customer Care, jika utilisasi traffic di suatu periode berada di bawah 50%, itu artinya pencapaian mereka tidak maksimal. Masing-masing team harus segera berbenah untuk mencari tahu “why such a situation can happen”. Jika tidak segera menemukan jalan keluarnya, dan keadaan trafficnya tidak berubah, bisa menghambat keluarnya insentif (kali ini curhat.com). Kaitannya dengan Quality Control, grafik dengan model diatas bisa digunakan untuk melihat dan mengetahui produk mana saja yang memenuhi standard produksi (i.e markerstyle/bulatan yang berwarna kuning) serta berapa besar prosentasenya, dan melihat produk mana saja yang tidak memenuhi standard produksi, entah karena kualitasnya yang buruk atau karena defect (i.e markerstyle/bulatan yang berwarna hijau dan merah. Keduanya bisa diset dengan warna yang sama menggunakan syntax VBA, red) serta berapa besar prosentasenya. Pertama saya akan mengcopy-kan syntax yang menghasilkan output grafik diatas (secara default, red) tapi tidak akan menjelaskan secara detail syntax-syntax tersebut karena pernah saya tampilkan dan kupas disini (meskipun tidak sama persis, red). Terlampir syntax yang saya maksud:

Sub ChartUtilisasiTrafficMonthly()

Dim chtChart As Chart

Dim oc As ChartObject

Dim ws As Worksheet

Set ws = Worksheets("Source Monthly Traffic")

‘Syntax dibawah ini digunakan untuk mempercepat proses running VBA.

With Application

.ScreenUpdating = False

.Calculation = xlCalculationManual

End Tith

‘Syntax dibawah ini digunakan untuk menghapus grafik yang tampil sebelumnya setiap kali tombol refresh ditekan. Tujuannya agar tidak muncul double grafik.

On Error Resume Next

Set oc = ActiveSheet.ChartObjects("TrafficMonthly")

For Each oc In ActiveWorkbook.ActiveSheet.ChartObjects("TrafficMonthly")

oc.Delete

Next oc

‘Syntax dibawah ini hingga terakhir baris [End Sub] digunakan untuk membuat grafik baru. Grafik yang terhapus karena syntax sebelumnya akan dibuat kembali secara otomatis oleh syntax berikut.

Set chtChart = Charts.Add

Set chtChart = chtChart.Location(Where:=xlLocationAsObject, Name:="Display All")

(Bersambung ke Bagian 2…)



0 Respones to "Trik Mengubah Marker Colors Secara Dinamis Pada Line Chart Using VBA (Bag I)"

Posting Komentar

 

Entri Populer

Recent Comments

Blog Statistic

Return to top of page Copyright © 2007 | Old Nakula