excelive - kumpulan artikel dan tutorial excel

New Posts

Post Top Ad

Your Ad Spot

Hanya Butuh 1 Tombol Untuk 2 Perintah Berbeda

10.9.17 0
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 0
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.

Baca Tutorial Macro VBA Menggunakan Loop Lainnya
Dua cara memisahkan kalimat menjadi per huruf
Silahkan ulangi perintah jika salah!
Membuat kotak pesan secara berulang-ulang

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 0
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 0
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 ...

Membuat Kotak Pesan Berulang (Loop)

23.8.17 0
Loop Message in Excel

Kotak pesan atau yang lebih umum dikenal dengan nama MessageBox merupakan sebuah fitur yang terdapat di hampir setiap aplikasi, yang memiliki fungsi utama untuk memberikan informasi kepada pengguna berupa kotak dialog dan menunggu keputusan pengguna untuk mengeksekusi perintah-perintah seperti Yes, No, maupun Cancel.

Perintah-perintah yang tersemat dalam kotak pesan biasanya dihubungkan dengan perintah lainnya dengan menyesuaikan isi pesan yang disampaikan dalam kotak tersebut.

Contoh umum yang sering kita jumpai adalah ketika akan menyimpan sebuah dokumen di sebuah folder tertentu yang memiliki nama file yang sama, maka kotak pesan tersebut akan menampilkan sebuah pesan, Apakah file yang sudah ada akan ditimpa dengan yang baru?. Jika pengguna menekan tombol Ya (Yes) maka perintah yang akan dijalankan adalah menyimpan dan menimpanya. Sementara jika pengguna menekan tombol Tidak (No), maka tentunya perintah yang dijalankan bukanlah perintah yang sama seperti tombol Ya (kecuali jika programmer menginginkan hal itu).

Ok, Secara umum gambaran MessageBox kurang lebih seperti ilustrasi di atas.

Lantas bagaimana jika kita ingin membuat sebuah MessageBox agar menjalankan perintah secara berulang-ulang hingga pengguna menghentikannya dengan cara menekan tombol tertentu, seperti tombol No.?

Agar lebih memahami konsep dari tutorial ini, coba perhatikan skema sederhana berikut :
  1. MessageBox memilki  struktur standar dan memiliki 2 tombol yakni tombol Yes dan No, Sebut saja MessageBox ini sebagai MessageBox-A. Dan MessageBox ini berisi pesan seperti berikut "Apakah Anda ingin mengisi dan atau menambahkan data di sel A1 dengan nilai 1?". 
    • Jika pengguna menekan tombol No, maka proses eksekusi Kode Macro VBA akan dihentikan disaat itu juga dan tidak akan mengisi data apapun di sel A1.
    • Jika pengguna menekan tombol Yes (selanjutnya nanti menuju langkah no 2), maka sel A1 akan terisi dengan nilai 1 dan akan menampilkan jendela pesan lainnya, dengan isi pesan seperti berikut "Apakah Anda ingin menghentikan proses ini?". Sebut saja MessageBox ini sebagai MessageBox-B, dan tetap dengan struktur standar dengan memiliki tombol Yes dan tombol No yang selanjutnya jendela pesan inilah nanti yang akan di ulang-ulang.
  2. Jika dilangkah pertama pengguna menekan tombol Yes, maka MessageBox-B akan muncul dengan spesifikasi yang sudah disebutkan.
    • Jika pengguna menekan tombol Yes untuk MessageBox-B, maka isi sel A1 akan ditambahkan dengan nilai 1 dan proses akan kembali lagi ke langkah no-2 (inilah yang dinamakan dengan proses loop)
    • Jika pengguna menekan tombol No, maka jendela kotak pesan ini akan tertutup dan menghentikan proses pengulangan.
Langsung saja nikmati proses pengulangan kotak pesan berikut. Dan mudah-mudahan tidak membuat Anda semakin bingung dalam memahaminya.
Demo Loop Message

Bagaimana? sudah paham kan konsep dari loop MessageBox. Kalau masih belum paham, silahkan download hasil akhir dari tutorial ini melalui tautan di bawah.
download

Baca Tutorial Macro VBA Menggunakan Loop Berikut
Pencarian dilakukan secara berulang-ulang
Dua cara memisahkan kalimat menjadi per huruf
Silahkan ulangi perintah jika salah!

Atau, jika ingin membuat sendiri MessageBox loop, berikut ini VBA kode yang harus Anda tuliskan di sebuah module
Dim start As String
Dim finish As String

Application.ScreenUpdating = False
Application.CutCopyMode = False
Application.DisplayAlerts = False

start = MsgBox("Apakah Anda ingin mengisi dan atau menambahkan data" & vbCr & "di sel A1 dengan nilai 1?", vbYesNo)
If start = vbNo Then Exit Sub
Do
  [a1] = [a1] + 1
  If start = vbCancel Then Exit Sub
  finish = MsgBox("Apakah Anda ingin menghentikan proses ini?", vbYesNo)
  If finish = vbYes Then Exit Sub
Loop While finish = vbNo
Application.ScreenUpdating = True

Sekarang Anda sudah berhasil mempelajari bagaimana caranya membuat sebuah pesan yang dapat digunakan secara berulang-ulang hingga pengguna menghentikannya. Semoga Anda menyukai tutorial dari excelive untuk edisi ini.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, vous revoir.
Read More ...

Post Top Ad

Your Ad Spot