excelive - kumpulan artikel dan tutorial excel

New Posts

Post Top Ad

thanks for visiting

Post Top Ad

Your Ad Spot

Mengenal Ubound dan Lbound dalam Macro VBA

16.9.17
LBound dan Ubound, adalah dua fungsi dalam Macro VBA Excel yang barangkali hampir atau jarang digunakan karena belum tahu kegunaannya atau mungkin juga bingung cara pengaplikasiannya, dan untuk edisi kali ini kita akan belajar cara mengaplikannya dalam project VBA kita.

Sekilas tentang LBound dan UBound
LBound merupakan sebuah fungsi yang terdapat di Macro VBA yang berguna untuk mengambil nilai terendah dalam sekumpulan data, atau bahasa lainnya data yang ditentukan dalam sebuah dimensi array. Sementara UBound merupakan kebalikan dari LBound, yakni mengambil nilai tertinggi dari data Array yang ditentukan.

Sebelum memulai lebih lanjut, barangkali ada baiknya kita mengenal apa itu Array.
Array dapat ditemui di hampir semua bahasa pemrograman, tujuannya tidak lain adalah untuk menyimpan banyak data dalam variabel yang sama dan dalam satu tipe data yang sama juga. Ambil contoh misalkan kita mempunyai 3 data tentang rentang nilai di sebuah sekolah, dan jika kita ingin masukkannya ke dalam program yang kita buat tanpa Array maka kode programnya kurang lebih akan tampak seperti berikut
A = 90 To 100
B = 80 To 89
C = 70 To 79
Sedangkan jika diterapkan dalam sebuah Array, maka baris-baris kode tersebut akan terlihat tampak lebih sederhana dan enak dipandang seperti ini
Dim Nilai (90 To 100, 80 To 89,70 To 79)

Karena dua fungsi di atas, baik LBound mapun UBound menggunakan Array dalam menjalankan perintahnya, maka tentu kita harus menggunakan model penulisan tersebut. Coba lihat syntax penulisan fungsi LBound dan UBound berikut :
LBound(Nama_Array,Dimensi)
UBound(Nama_Array,Dimensi)
Dimensi yang dimaksud dalam syntax tersebut di atas adalah urutan dalam Array yang dipisahkan dengan tanda koma. Ambil contoh, jika dimensi yang dimasukkan adalah 2 maka baik LBound maupun UBound akan membaca baris array 80 To 89, dan seterusnya.

Ok. Untuk tutorial kali ini kita akan mencoba mengaplikasikan kedua fungsi di atas untuk memilih sebuah range dalam lembar kerja Microsoft Excel. Dan seperti biasa, buat sebuah module baru dan tuliskan baris Macro VBA berikut ini kedalamnya.

Sub ULBound()
On Error GoTo XX
Dim X(90 To 100, 80 To 89,70 To 79)
Kecil = LBound(x, [B1])
Besar = UBound(x, [B1])

Alamat = [C1] & Kecil & ":" & [C1] & Besar

Range(Alamat).Select
Exit Sub
XX:
MsgBox "Array error"
End Sub

Penjelasan singkat dari baris kode di atas,

  • Dim X adalah sebuah Array yang memiliki nilai-nilai yang sudah ditentukan
  • kecil merupakan nama yang digunakan untuk mewakili fungsi LBound
  • besar merupakan nama yang digunakan untuk mewakili fungsi UBound
  • [B1] adalah alamat sel yang bertugas dalam menentukan dimensi baik LBound maupun UBound, dan alamat ini sifatnya pilihan, artinya anda bisa langsung menuliskan angka-angka untuk menuliskan dimensi dari array yang akan dibaca fungsi LBound dan UBound.
  • Alamat adalah kombinasi antara LBound dan UBound yang berfungsi sebagai range dalam lembar kerja Microsoft Excel
  • [C1] adalah lokasi sel yang saya fungsikan untuk menentukan kolom mana yang nanti akan dipilih, dan inipun sifatnya optional.
  • XX: merupakan baris perintah yang akan menampilkan sebuah jendela pesan kesalahan jikalau nilai array yang dituliskan di dalam sel B1 melebihi nilai array yang telah ditentukan dalam baris kode Dim X.

Untuk lebih memahami konsep tutorial kali ini, silahkan lihat video berikut


Sebelum menjalankan perintah Macro VBA ini, pastikan bahwa anda sudah menuliskan terlebih dahulu sebuah nilai di lembar kerja, dengan ketentuan seperti berikut :
Sel B1 : silahkan isi sebuah nilai berupa angka (dimensi)
Sel C1 : silahkan isi sebuah huruf (kolom)

Untuk lebih jelasnya, anda bisa lihat tutorial ini di youtube


Selamat!!! anda sekarang sudah berhasil mempelajari dua fungsi Macro VBA Excel yakni LBound dan juga UBound yang diaplikasikan untuk memilih sebuah range dalam lembar kerja Microsoft Excel. Semoga Anda menyukai tutorial dari excelive untuk edisi ini. Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, we'll be right back soon.

Read More ...

Hanya Butuh 1 Tombol Untuk 2 Perintah Berbeda

10.9.17
1 untuk 2

Ini adalah arti dari sebuah efektifitas dalam melakukan sebuah pekerjaan, dimana kita hanya membutuhkan 1 buah tombol untuk melakukan 2 (dua) buah perintah yang berbeda, dan jelas sekali bahwa dengan menggunakan tips ini akan mempercepat pekerjaan karena kita hanya cukup menggunakan 1 buah tombol saja.

Mungkin ada pertanyaan yang tersirat di dalam benak anda, iya memang tombol yang digunakan hanya satu, tapi bagaimana dengan baris perintah atau kodenya, lebih dari satu kan?

Emmm... coba perhatikan contoh berikut; saya kebetulan memiliki sebuah tombol yang ingin saya fungsikan untuk menyembunyikan Sheet2, tetapi tombol tersebut juga ingin saya fungsikan untuk menampilkan sheet yang sudah saya sembunyikan tadi. Kira-kira, bagaimana bahasa logika yang saya butuhkan untuk menerjemahkan contoh tersebut.

Kalau anda menjawab dengan menggunakan logika IF maka itu adalah benar dan statement logika IF memang menjadi pilihan yang sangat tepat untuk menerjemahkan kalimat diatas ketika menyusun sebuah perintah Macro VBA, dan kurang lebih kumpulan baris perintahnya akan menjadi seperti ini
If Sheets(2).Visible = True Then
    Sheets(2).Visible = False
    Else
    Sheets(2).Visible = True
End If
Apakah kode di atas berhasil menyembunyikan dan menampilkan kembali sheet tersebut hanya menggunakan sebuah tombol??? jawabannya tentu saja berhasil, dan bahkan sangat sempurna.
Sayangnya, baris kode tersebut terlihat tampak agak sedikit panjang, hal ini dikarenakan memang syntax dari penulisan statement IF seperti itu. Tapi jika yang diminta adalah untuk menyembunyikan dan menampilkan Sheet2 menggunakan satu tombol, maka statement IF telah berhasil mengerjakan tugasnya.

Nah, sekarang kita akan mencoba menyempurnakan kode di atas untuk menyelesaikan tugas ini tanpa menggunakan statement IF, karena mungkin anda sudah bosan menggunakannya atau mungkin ingin mencari alternatif cara lain yang memiliki fungsi yang sama seperti statement IF dalam menyelesaikan kasus di atas.

Silahkan anda coba kode berikut ini dan sematkan dalam sebuah tombol CommandButton
Sheets("Set2").Visible = Not Sheets("Set2").Visible
Kunci dari baris kode di atas terdapat dalam sebuah parameter = Not, dan oleh karena itu saya menamai kode ini dengan nama = Not.

Bagaimana? terlalu singkat, terlalu pendek, atau ingin yang lebih panjang lagi???, silahkan coba cara berikut ini yang juga tidak menggunakan statement IF melainkan menggunakan model pendekatan Select Case
Dim ws As Worksheet
Dim status
Set ws = Sheets("Set2")
status = ws.Visible

Select Case status
Case True
    ws.Visible = False
Case Else
    ws.Visible = True
End Select
Ternyata makin panjang dan ruwet ya. hehehe....

Ketiga kode Macro VBA yang sudah saya paparkan di atas sama-sama memiliki tugas yang sama yakni menampilkan dan menyembunyikan lembar kerja hanya dari sebuah tombol. Silahkan anda pilih sendiri mana dari ketiganya yang sesuai dengan kebutuhan.

Untuk menyempurnakan posting kali ini, saya akan berikan hasil akhir dari serangkaian kode-kode Macro VBA yang sudah kita buat di atas

Sekarang anda sudah berhasil mempelajari bagaimana cara menampilkan dan menyembunyikan lembar kerja hanya melalui sebuah kontrol CommandButton. Semoga Anda menyukai tutorial dari excelive untuk edisi ini.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, see you soon....

Read More ...

Pencarian Berulang-ulang Berdasarkan Kriteria

5.9.17
looping search

Lagi...kita ditugaskan untuk melakukan pencarian, ya...apalagi kalau bukan mencari sebuah nilai, akan tetapi pencarian kali ini didasarkan sebuah kriteria tertentu. Jadi, apalagi yang kita tunggu.

Pencarian memang seringkali diperlukan ketika kita menghadapi sekumpulan data yang luar biasa banyak, dan Microsoft Excel sendiri menawarkan beragam metode atau pendekatan untuk melakuan sebuah pencarian, salah satu yang paling umum adalah melalui fitur Find and Replace yang bisa diakses mengunakan tombol pintas CTRL + F. Akan tetapi apakah hasil dari pencarian sesuai dengan yang diinginkan atau masih kurang?.

Memang dalam melakukan sebuah pencarian, ada baiknya menentukan terlebih dahulu apa yang ingin dicari dan hasil apa yang kita inginkan. Kalau hanya sebatas mencari dan mengganti sebuah teks yang terdapat di dalam lembar kerja, maka saya pikir tidak perlu menggunakan formula, atau bahkan mungkin sekumpulan baris kode VBA yang njlimet. Kita hanya perlu menekan tombol CTRL + F untuk menampilkan jendela Find and Replace dan memasukkan kata yang ingin dicari, maka kita akan langsung mendapatkan hasil sesuai dengan apa yang kita cari.

Saya yakin 100% bahwa Microsoft Excel memiliki beragam teknik pencarian selain yang sudah saya sebutkan di atas, terlebih jika hasil dari apa yang kita cari berdasarkan kriteria tertentu, maka CTRL + F bukanlah sebuah jawaban yang cukup memuaskan.

Pendekatan yang ingin saya bahas untuk tutorial kali ini adalah menggunakan fasilitas LOOP, dan lagi-lagi menggunakan Macro VBA untuk mencari data-data berdasarkan kriteria, dimana kriteria tersebut diletakkan dalam deretan kode Macro VBA.

Silahkan lihat data-data berikut:
data ganda ekskul siswa

Kalau anda perhatikan data di atas, Dina adalah salah satu siswa yang mengikuti kegiatan ekstrakurikuler sekolah lebih dari satu, sementara siswa yang lain hanya mengikuti satu macam ekskul saja. Maka, dalam melakukan pencarian, Dina bisa dikategorikan sebagai kriteria pencarian dan hasil dari pencarian tersebut akan menghasilkan ekskul Drumband, PMR, dan Seni Tari.

Jadi, untuk melakukan pencarian dari data-data tersebut, maka sudah bisa dipastikan bahwa fitur Find and Replace tidak bisa memberikan hasil yang diinginkan, dan otomatis opsi yang sangat memungkinkan adalah menggunakan bantuan Macro VBA. Dan, untungnya anda sudah menemukan artikel ini, karena baris kodenya sudah bisa langsung dipraktekkan.

Sub CariLagi()
Dim Rng As Range
Dim Hsl As Variant
For Each Rng In Sheets(1).Range("A2:A9")
    If Rng.Value = "Dina" Then
    Hsl = Hsl & Cells(Rng.Row, 2) & vbCr
    End If
Next
MsgBox "Jenis ekskul yang di ikuti Dina :" & vbCr & Hsl
End Sub
Catatan : kriteria pencarian untuk baris kode di atas bersifat sensitif, atau dengan kata lain kata "Dina" tidak sama dengan "dina"
Sebenarnya kriteria pencarian dengan menggunakan metode di atas agak sedikit 'memaksa', karena kita meyakini bahwa "Dina", "dina", atau "diNA" (tidak peduli menggunakan penulisan karakter huruf kecil atau huruf kapital) adalah siswa yang sama. Maka solusi untuk mengatasi permasalahan ini adalah dengan menggunakan Wildcard (baca tutorial wildcard lainnya disini), sehingga hasil penyempurnaan dari baris kode di atas adalah seperti berikut.

Sub CariLagi()
Dim Rng As Range
Dim Hsl As Variant
For Each Rng In Sheets(1).Range("A2:A9")
    If Rng.Value Like "*ina" Then
    Hsl = Hsl & Cells(Rng.Row, 2) & vbCr
    End If
Next
MsgBox "Jenis ekskul yang di ikuti Dina :" & vbCr & Hsl
End Sub

Kesimpulan dari tutorial ini saya kembalikan kepada anda semua, mana dari dua model pencarian di atas yang bagus dan yang terpenting adalah sesuai dengan kebutuhan anda.

Mau lihat tutorial ini di youtube??


Sekarang Anda sudah mengetahui bagaimana caranya untuk melakukan pencarian data menggunakan pendekatan metode Loop (For Each) dengan cepat. Semoga belajar Macro VBA anda bersama excelive untuk edisi ini cukup menyenangkan.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya.

Read More ...

Silahkan Ulangi Perintah Jika Salah

30.8.17
pengulangan perintah

Judul diatas adalah sebuah pernyataan yang mengisyaratkan tentang sebuah kegiatan yang dilakukan secara berulang-ulang untuk memenuhi suatu permintaan yang telah ditentukan. Dengan kata lain, sekumpulan perintah akan terus menerus dilaksanakan sampai ia bertemu sebuah kondisi dimana ia harus dihentikan, yakni ketika syarat tertentu sudah terpenuhi.

Biar lebih gampang memahami alur dari perintah ini, saya akan beri contoh sederhana seperti berikut.
Robi diminta oleh pimpinan untuk melakukan tes tulis terhadap 10 karyawan yang dilakukan secara terpisah dan dilakukan satu persatu, maka yang terlintas dalam pikiran Robi adalah ia harus memberikan tes tulis terhadap masing-masing karyawan hingga selesai agar bisa mendapatkan reward dari pimpinan. Ia yakin bahwa reward tersebut tidak akan diterima hingga ia menyelesaikan tugasnya,

Agak bingung ya...coba anda lihat diagram dibawah ini agar lebih mudah memahami.
perintah loop dengan Macro VBA

Kalau dilihat dari diagram diatas tampak bahwa terjadi sebuah pengulangan (loop) perintah ketika kondisi belum terpenuhi atau kondisi dinyatakan salah. Dan sebaliknya, perintah ini akan segera dihentikan ketika sudah menemui kondisi benar sesuai dengan yang diinginkan.

Skema di atas jika diterjemahkan ke dalam bahasa Macro VBA maka akan menjadi
Do Loop..... Until atau Lakukan Pengulangan....Sampai....
dan jika contoh diatas diterjemahkan ke dalam Macro VBA Do Loop .... Until maka ketentuannya kurang lebih seperti berikut:
  • 10 Karyawan
    sebuah kondisi yang harus dipenuhi
  • Tugas/Perintah
    sebuah syarat agar mendapatkan reward dari pimpinan
  • Tes Tulis
    Hasil yang ingin ditampilkan, misal laporan atau pesan bahwa tes sudah dilakukan
Dari ketentuan tersebut, maka akan kita dapatkan sebuah rumusan kode Macro VBA seperti berikut
Do Until karyawan>=10  
  karyawan = karyawan + 1
  msgbox ("Tes tulis dari karyawan " & karyawan & " sudah selesai")
Loop
Mudah kan!

Coba anda perhatikan baris kode
karyawan = karyawan + 1
tahukah anda apa maksud dan tujuan dari kode tersebut?

Ya, seperti contoh yang sudah saya gambarkan di atas dimana Robi harus melakukan tes terhadap 10 karyawan dan terdapat sebuah ketentuan yang harus ia penuhi, yakni ia harus menyelesaikan sebuah tes tulis terhadap 1 (satu) karyawan hingga selesai agar bisa melakukan tes terhadap karyawan berikutnya. Bagaimana?!.... Mungkin cuplikan dari hasil tutorial ini bisa membatu pemahaman anda.
do loop

Sekarang anda sudah berhasil mempelajari bagaimana caranya membuat sebuah perintah yang dilakukan secara berulang-ulang menggunakan Do Loop Until. Semoga Anda menyukai tutorial dari excelive untuk edisi ini.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, 작별 (sampai ketemu lagi....).

Read More ...

Berhitung dengan InputBox dan Custom Function

26.8.17
berhitung

Syarat utama yang diminta oleh Microsoft Excel dalam memulai sebuah hitungan (baca:mengolah angka) adalah harus mengawalinya dengan sebuah simbol sama dengan (=) untuk setiap masukan. Maka secara otomatis ia akan dibaca sebagai sebuah fungsi yang akan diolah sesuai dengan apa yang ditulis oleh pengguna.

Sebagai contoh, ketika pengguna memasukkan sebuah nilai seperti =5*2 maka Microsoft Excel akan langsung mengolah angka-angka tersebut dan akan menghasilkan nilai 10, karena simbol * yang digunakan diantara angka-angka tersebut difungsikan sebagai perkalian. Hal ini pun sama berlakunya ketika seorang pengguna hendak menuliskan sebuah formula, seperti =SUM, =AVERAGE, dan lain sebagainya. Formula-formula tersebut akan berfungsi sebagaimana mestinya jika diawali dengan karakter sama dengan.

Formula Microsoft Excel memang sudah tersedia dan pengguna hanya tinggal memakainya saja sesuai dengan kaidah penulisan yang berlaku. Sementara jika ingin membuat sebuah Formula sendiri (Custom Function) maka seorang pengguna harus menentukan terlebih dahulu beberapa parameter yang dibutuhkan, yang mana hal ini bisa dilakukan dengan menggunakan Macro VBA.

Pembahasan mengenai Custom Function lain sudah pernah dibahas disini, silahkan kunjungi untuk memahami struktur dan cara membuatnya.

Untuk tutorial kali ini kita akan mencoba menggabungkan Custom Function dan InputBox untuk mengolah angka sederhana seperti contoh diatas, dan seperti yang sudah Anda ketahui, baik Custom Function dan InputBox sama-sama harus dibuat menggunakan Macro VBA. Jadi, silahkan Anda aktifkan terlebih dahulu jendela Microsoft Visual Basic Editor dengan cara menekan tombol Alt + F11 di keyboard Anda.

Setelah jendela VBE terbuka, tambahkan sebuah Module baru dan ketikkan baris kode berikut:
Function Hitung()
On Error Resume Next
Dim X As Double
Dim Y As Double

X = InputBox("Masukkan angka pertama", "Masukkan Nomor")
Y = InputBox("Masukkan angka kedua", "Masukkan Nomor")
Hitung = X * Y
End Function

Hitung merupakan sebuah nama dari Formula baru kita, dan usahakan nama dari formula ini tidak sama dengan nama-nama formula yang sudah ada di Microsoft Excel.
download

Penggunaan Formula baru ini cukup sederhana, yakni Anda tinggal mengetikkan =Hitung() di sebuah sel kemudian akhiri dengan tombol Enter untuk langsung menampilkan beberapa jendela InputBox, serta harus menggunakan nilai berupa angka agar operasi ini berhasil.
hitung dengan inputbox

Sekarang Anda sudah berhasil mempelajari bagaimana cara membuat hitungan sederhana dengan menggunakan Custom Function yang dikombinasikan dengan InputBox. Semoga belajar Macro VBA excel bersama excelive untuk edisi ini ada manfaatnya.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, see u next time.

Read More ...

Post Top Ad

Your Ad Spot