Tampilkan postingan dengan label Loop. Tampilkan semua postingan
Tampilkan postingan dengan label Loop. Tampilkan semua postingan

Kode Macro VBA untuk menampilkan Informasi Data Dari 3 Kriteria

kriteria macro vba

Banyak cara yang digunakan dalam menentukan ukuran yang menjadi dasar untuk menampikan atau menyembunyikan suatu data, atau lebih mudahnya disebut sebagai kriteria. Ya, suatu kriteria dapat digunakan sebagai patokan kapan atau bagaimana data-data tersebut ingin ditampilkan, atau diambil untuk kemudian diolah lagi dengan data lainnya.

Ambil contoh seperti berikut, seorang pengunjung toko handphone ingin mengetahui harga sebuah produk, sebut saja VIVO versi V5 yang dibuat atau direlease di tahun 2015, serta ingin mengetahui juga ketersediaan barangnya. Dan jika dari kumpulan data-data yang tersimpan didalam komputer tersebut memiliki informasi berupa merk VIVO dengan versi V5-nya serta buatan tahun 2015, maka komputer atau aplikasi akan menampilkan informasi harga serta stok barang sesuai dengan kriteria yang dimasukkan oleh pengunjung toko tersebut.

Nah dari gambaran diatas, variabel seperti VIVO, V5 dan tahun 2015 adalah sebuah kondisi yang harus dipenuhi untuk menampilkan hasil berupa Informasi Harga Produk dan Stok Barang.

Jika contoh diatas diterjemahkan dalam sekumpulan data Microsoft Excel, maka tampilannya kurang lebih seperti berikut :
Data toko handphone

Ok, sekarang kita akan mencoba melakukan pencarian data seperti yang dilakukan oleh pengunjung toko handphone menggunakan data-data yang tersimpan dalam Microsoft Excel.
Saya berasumsi data-data yang tersimpan di komputer memiliki susunan yang kurang lebih seperti apa yang saya sajikan diatas. Dan selanjutnya kita akan mencari nilai dari sekumpulan data-data yang sudah ada ini untuk menampilkan informasi berdasarkan 3 (tiga) buah kriteria seperti yang sudah saya gambarkan sebelumnya.
Dan sesuai dengan judul tutorial ini, maka syarat yang tidak kalah penting yang harus dilakukan terlebih dahulu adalah menonaktifkan keamanaan Macro Microsoft Excel anda, agar nantinya kode-kode yang ditulis bisa dijalankan secara maksimal.

Jika persiapan sudah oke, silahkan ikuti langkah demi langkah yang saya sajikan berikut ini :
  1. Aktifkan terlebih dahulu jendela Microsoft Visual Basic Editor jika belum, yakni dengan menekan tombol pintas ALT+F11
  2. Buat sebuah module baru melalui menubar Insert, kemudian pilih Module
  3. Tulis atau tempelkan sederetan baris Macro VBA berikut ini di dalam module yang sudah dibuat dilangkah sebelumnya
    Sub TigaKriteria()
    On Error Resume Next
    Dim a, b As Variant 
    Dim c As Double 
    Dim psn As Boolean
    Dim isi
    psn = False
    isi = Cells(Rows.Count, 1).End(xlUp).Row
    
    a = Application.InputBox("Nama item atau produk")
    b = Application.InputBox("Jenis versi produk")
    c = Application.InputBox("Tahun dibuat")
    For i = 2 To isi
    If InStr(UCase(Cells(i, 2)), UCase(a)) And _
       InStr(UCase(Cells(i, 3)), UCase(b)) And _
       Cells(i, 4) = c Then
    If psn = False Then
        MsgBox "Hasil pencarian untuk item : " & _
                Cells(i, 2) & " " & Cells(i, 3) & " " & Cells(i, 4) & vbCr & _
                "Price : " & Format(Cells(i, 5), "#,##0") & vbCr & _
                "Stok : " & Cells(i, 6) & " bh"
        psn = True
    End If
    End If
    Next
    End Sub

    Untuk lebih memahami kode-kode yang sudah saya tuliskan ini dan tidak asal copy-paste, berikut akan saya jelaskan secara singkat baris-baris penting yang terdapat dalam serangkaian kode Macro VBA diatas
    • On error resume next
      adalah sebuah statement yang akan mengabaikan semua perintah jika terjadi sebuah kesalahan
    • Dim a, b As Variant
      saya mendeklarasikan variabel a dan variabel b sebagai variant, karena nantinya nilai-nilai yang terdapat dalam variabel ini berisi sebuah teks (nama item dan versi handphone)
    • Dim c As Double / Long
      sesuai dengan cerita contoh diatas bahwa terdapat sebuah variabel yang menunjukkan tahun dikeluarkannya sebuah produk Handphone, maka variabel c saya deklarasikan sebagai Double atau anda juga bisa mendeklarasikan sebagai Long agar dapat menyimpan nilai sebagai angka (numeric)
    • Dim psn As Boolean
      Untuk variabel psn, saya fungsikan ia sebagai sebuah Boolean agar ia bisa menyimpan nilai TRUE atau FALSE. Variabel nilai psn sendiri saya gunakan agar nantinya kotak pesan (MsgBox) tidak muncul secara berulang-ulang
    • psn = False
      melanjutkan dari penjelasan sebelumnya, variabel psn yang sudah saya deklarasikan sebagai Boolean saya beri dia nilai awal dengan nilai FALSE.
      Variabel dan nilai dari psn ini bersifat pilihan, artinya jika anda ingin menampilkan hasil pencarian langsung ke dalam lembar kerja maka anda tidak perlu menempatkan baris perintah ini
    • isi = Cells....
      Baris kode ini memuat sebuah nilai yang dapat digunakan untuk mencari informasi baris terakhir yang berisi data berdasarkan kolom A atau indeks kolom ke-1, sehingga ia akan mencari jumlah atau banyaknya data secara otomatis
    • a = ... nama item
      Nilai ini dideklarasikan sebagai sebuah Variant yang digunakan sebagai kriteria pertama, dan untuk contoh ini kriteria yang dimaksud adalah Nama Item yang dapat dimasukkan melalui jendela InputBox
    • b = ... versi produk
      sama seperti nilai a, hanya saja ia di dijadikan sebagai kriteria kedua yakni akan membaca versi sebuah produk
    • c = ...tahun
      Berbeda dengan nilai a dan nilai b, nilai ini menyimpan informasi sebagai angka dan dijadikan sebagai kriteria ketiga.
    • For i = 2 to Isi
      Baris ini merupakan perintah awal untuk pengulangan (loop), yang mana pengulangan akan dibaca mulai dari baris ke-2 sampai dengan baris sebanyak yang diketahui oleh nilai yang didapatkan oleh variabel isi
    • If InStr.......
      Kata kunci dari bahasa logika yang cukup panjang ini terdapat dalam baris perintah InStr...., saya gunakan untuk 'mengunci' dan mencari kesamaan nilai antara nilai yang dimasukkan di setiap variabel dengan kolom indeks yang sesuai dengan kriteria yang dimasukkan, seperti :
      • variabel a memiliki nilai sama dengan nilai yang ada di kolom indeks ke-2, dan
      • variabel b memiliki nilai sama dengan nilai yang ada di kolom indeks ke-3, dan
      • variabel c memiliki nilai sama dengan nilai yang ada di kolom indeks ke-4
      dengan menggunakan parameter InStr..., Maka Macro VBA akan 'memaksa' untuk menyamakan penulisan karakter huruf besar atau huruf kecil agar tidak bersifat case-sensitive.
      Masih dalam logika IF yang pertama, dimana jika semua kondisi-kondisi ini terpenuhi maka baris perintah yang akan dieksekusi adalah :
      • If Psn = False
        Ok, logika If ini kita sebut saja sebagai logika IF yang kedua dimana ia terdapat didalam logika IF yang pertama yang mana fungsi utama dari logika IF kedua ini adalah jika variabel nilai psn adalah False (lihat penjelasan psn = False), maka sebuah kotak pesan dengan berbagai informasi pencarian akan ditampilkan.
        Dan setelah logika IF yang kedua ini dieksekusi, maka variabel psn saya rubah nilainya menjadi TRUE agar nantinya hasil pencarian TIDAK ditampilkan secara berulang-ulang
      • End IF
        Adalah sebuah parameter yang wajib dituliskan untuk menutup Logika IF. Karena dalam tutorial ini saya menggunakan 2 logika IF maka parameter End IF berjumlah 2
    • Next
      Baris perintah terakhir dari serangkaian kode Macro VBA ini adalah parameter Next, sebagai penutup dari parameter For i.....

Barangkali serangkaian baris kode Macro VBA yang kita tuliskan jika dibahasakan dalam bahasa sehari-hari kurang lebih seperti setiap poin yang saya jelaskan diatas. Dan mudah-mudahan penjelasannya bisa dimengerti.
Namun jika anda menemui kendala, silahkan anda tuliskan beberapa hal yang masih belum dipahami dari tutorial ini dalam kolom komentar dibawah.

Sebagai penutup, berikut saya tampilkan hasil akhir dari tutorial ini. Dan jika anda mengikuti langkah demi langkah yang saya berikan dalam tutorial ini, maka andapun akan mendapatkan hasil akhir seperti yang tampak dalam tampilan berikut
Kode Macro VBA 3 Kriteria

Selamat... anda sudah berhasil mengetahui bagaimana caranya menampilkan informasi berdasarkan 3 (tiga) buah kriteria yang diinput atau dimasukkan melalui jendela InputBox. Mudah-mudahan tutorial kali ada guna dan manfaatnya, dan membantu anda menyelesaikan permasalah excel yang saat ini anda hadapi.
Silahkan bookmark website ini jika anda suka dengan tutorial-tutorial yang telah kami sajikan, dan jangan lupa kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya bersama excelive.com. Despedida.

Membuat Kotak Pesan Agar Tampil Sekali Dalam Parameter For..Next

msgbox - xcelive

Hampir setiap aplikasi komputer memiliki kotak pesan yang berisi beragam informasi yang bertugas memberitahu kepada pengguna akan apa yang sedang dikerjakan, yang mana munculnya kotak pesan ini dipicu oleh bermacam kondisi dan situasi, sebut saja ketika pengguna berhasil menyimpan hasil pekerjaannya atau ketika pengguna melakukan sesuatu yang 'dilarang' oleh aplikasi tersebut, atau sekedar ingin menampilkan infomasi kepada pengguna tentang status dari pekerjaannya.

Berbagai macam kondisi yang menyebabkan munculnya kotak pesan tentunya berbeda antara aplikasi satu dengan lainnya, namun pada intinya munculnya kotak pesan disebabkan karena terdapat sesuatu yang memicunya. Tujuan dari kotak pesan memang ingin menampilkan informasi kepada pengguna tentang apa yang ia kerjakan dan biasanya juga menampilkan bantuan yang bertujuan untuk membantu pengguna dalam mengoperasikan aplikasi yang dimaksud.

Meskipun boleh dibilang bahwa munculnya jendela kotak pesan dapat membantu pengguna dalam memutuskan apa yang seharusnya dilakukan. Namun terkadang munculnya bisa sangat menggangu dan bahkan tidak diharapkan, terlebih ketika kotak pesan disematkan dalam module pengulangan - sebut saja parameter yang digunakan adalah For...Next. Ya, parameter For..Next adalah salah satu parameter yang terdapat dalam Macro VBA Microsoft Excel yang memungkinkan suatu perintah dapat diulang-ulang beberapa kali dan akan berhenti sampai suatu kondisi telah terpenuhi.

Coba perhatikan pernyataan berikut :
Seorang user ingin mengisi baris 1 sampai dengan baris ke 3 pada kolom A dengan huruf ABC
Maka dari pernyataan di atas dapat disimpulkan bahwa pengulangan perintah terjadi selama 3 kali, yakni perintah untuk mengisi huruf ABC mulai dari baris ke-1 dan akan berhenti pada saat masuk baris ke-3.
Bahasa kode VBA sederhana untuk menerjemahkan kalimat diatas adalah :
For a = 1 to 3
  Cells(a,1) = "ABC"
next 
Nah, sekarang coba bayangkan jika sebuah parameter MsgBox ditempatkan dalam parameter ini, pasti yang terjadi adalah pesan yang sama akan dibuka secara berulang-ulang sebanyak 3 kali. dan ini jelas-jelas akan sangat menganggu. Silahkan lihat kotak pesan yang muncul pada demonstrasi berikut
xcelive - loop msgbox

Demonstrasi diatas dihasilkan dari kode Macro VBA seperti ini
For a = 1 to 3
  MsgBox "Pengulangan sebanyak " & a & " kali"
next
Dari kode diatas, saya hanya melakukan pengulangan perintah sebanyak 3 kali saja namun saya sangat terganggu dengan munculnya kotak pesan setiap kali pengungalan dilakukan. Bagaimana jika saya ingin melakukan pengulangan lebih banyak dari ini?! Mungkin capek dan tentu kesal karena harus menekan tombol OK pada jendela kotak pesan agar bisa menuju ke pengulangan berikutnya hingga selesai.

Untungnya dengan menggunakan bantuan logika sederhana, 'kesalahan' ini bisa diatasi dan menghasilkan sesuatu yang seharusnya, yakni menampilkan kotak pesan cukup hanya sekali saja meskipun berkali-kali melakukan pengulangan perintah.
Jika ingin mencobanya, tulis baris kode Macro VBA berikut dalam sebuah Module kemudian jalankan dengan menekan tombol F5 di keyboard anda.
Sub PesanSekali()
Dim Pesan As Boolean
Pesan = True

For a = 1 To 3
If Pesan = True Then
  MsgBox "Pengulangan sebanyak " & a & " kali"
  Pesan = False
End If
Next
End Sub

Rangkuman dan penjelasan singkat kode Macro VBA diatas :
  1. Pesan As Boolean
    Sebuah variabel Macro VBA yang dapat digunakan untuk menyimpan nilai TRUE atau FALSE
  2. Pesan = True
    Digunakan untuk menentukan nilai awal dari nilai Pesan, yakni nilai TRUE
  3. For a = ....
    Berfungsi untuk melakukan pengulangan perintah sebanyak 3 kali
  4. If Pesan = True
    Baris ini berfungsi untuk melakukan pengecekan sebelum mengeksekusi perintah-perintah setelahnya, yakni jika kondisi dari nilai Pesan adalah TRUE.
    Dan karena sebelumnya kita sudah menentukan nilai Pesan dengan nilai TRUE, maka pasti perintah selanjutnya akan dieksekusi
  5. Pesan = False
    Nah, inilah baris perintah yang digunakan untuk menghentikan munculnya jendela kotak pesan secara berulang-ulang, karena paremeter dari Logika IF yang dituliskan sebelumnya hanya akan menjalankan perintah jika status dari nilai Pesan = TRUE
Hasil akhir yang diperoleh dari kumpulan baris perintah Macro VBA yang sudah dibuat diatas tampak seperti dalam tampilan berikut :
kotak pesan berulang - xcelive

Lantas bagaimana cara mengkombinasikannya dengan kode-kode atau perintah lainnya?!
Untuk mengetahui kegunaan dan cara mengaplikasikan kedalam baris perintah yang lebih kompleks, silahkan kunjungi tutorialnya disini

Sebagai penutup untuk tutorial kali ini, saya ucapakan selamat kepada anda karena sudah berhasil mengetahui bagaimana caranya menghentikan munculnya kotak pesan agar tidak tampil secara berulang-ulang ketika di sematkan dalam parameter For..Next. Mudah-mudahan tutorial kali ada guna dan manfaatnya, dan membantu anda dalam menyelesaikan permasalah excel yang saat ini anda hadapi.
Silahkan bookmark website ini jika anda suka dengan tutorial-tutorial yang telah kami sajikan, dan jangan lupa kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya bersama xcelive.com. We'll be right back
Follow my blog with Bloglovin


Begini Caranya Mengekstrak Huruf atau Angka Dari Data Acak

ekstrak angka dan huruf

Saya pernah mendapat sebuah file hasil download dari internet yang mana isinya menjadi berantakan ketika saya buka di lembar kerja Ms. Excel, tidak sama dengan tampilan yang terlihat di situs tempat saya download file tersebut. Entah apa ini disebabkan karena saya salah dalam memilih jenis formatnya atau yang lainnya. Esoknya ketika saya mencoba download ulang file tersebut, saya lupa dengan alamat website-nya - nahasnya, saya coba cari di history browsing alamat sudah tidak tersedia alias sudah bersih, mungkin ada pengguna lain setelah saya yang menghapus data cache browser.

Cukup lama saya googling dan mencari alamat website penyedia file yang sudah berhasil saya download dihari sebelumnya, akan tetapi tak juga kunjung bertemu dengannya. Dan akhirnya, saya pun menyerah, dan tidak ingin membuang-buang waktu untuk mencari alamat yang saya sudah lupa.
Untung saja file yang saya download memiliki ekstensi .xls atau format file Microsoft Excel, jadinya saya bisa mengutak-atik isinya dengan sedikit kemampuan yang saya miliki, yang sekarang saya share kepada anda semuanya.

Saya tidak akan menampilkan file hasil download yang berantakan ketika saya buka di program Microsoft Excel, akan tetapi saya akan memberikan contoh yang mudah untuk di mengerti serta memiliki struktur yang hampir mirip dengan file tersebut - yang isinya kurang lebih seperti ini
Data Acak
Contoh data di atas pada dasarnya terdiri dari dua jenis, yakni huruf dan angka. Akan tetapi agak susah dibaca jika dalam kondisi penulisan yang berantakan seperti yang saya tulis diatas.
Nah, pada kesempatan ini saya akan share sebuah kode Macro VBA untuk membongkar data tersebut dan memisahkannya agar lebih enak dipandang dan tentunya agar lebih mudah dibaca.

Dan seperti biasa, karena yang akan saya share adalah berupa kode Macro VBA, maka pastikan jendela Microsoft Visual Basic Editor sudah diaktifkan, jika belum silahkan tekan tombol pintas ALT+F11.
Selanjutnya adalah buat sebuah Module Baru, kemudian silahkan masukkan kode berikut kedalamnya.
Sub extext()
Dim a, b, c As Long
Dim d, e As Variant

Range("E:F").Clear
For a = 1 To 5
e = Cells(a, 1)
b = Len(e)
For c = 1 To b
    If Mid(e, c, 1) >= "0" And Mid(e, c, 1) <= "9" Then
        Cells(a, 5) = Cells(a, 5) & Mid(e, c, 1)
    ElseIf Mid(e, c, 1) > "9" Then
        Cells(a, 6) = Cells(a, 6) & Mid(e, c, 1)
    End If
Next
Next a
End Sub
Dua baris pertama dari kode diatas bertugas untuk mendeklarasikan nilai , kemudian dilanjutkan dengan perintah untuk menghapus kolom E dan F. Perintah ini saya gunakan untuk membersihkan kolom tempat peletakan hasil ekstraksi, agar tidak terjadi penumpukan hasil.

Baris perintah inti dari kode di atas, penjelasan singkatnya kurang lebih sebagai berikut:
  1. nilai a terdiri dari nilai 1 sampai dengan 5, yang mana nantinya digunakan untuk membaca baris. Banyaknya jumlah baris bisa disesuaikan dengan banyaknya data yang tersimpan dalam lembar kerja, atau juga bisa menggunakan kode Current Region untuk mendeteksi jumlah baris secara otomatis.
  2. nilai e berasal dari baris ke-a dan kolom pertama
  3. nilai b berfungsi untuk membaca berapa jumlah karakter yang didapat dari nilai e
  4. nilai c memiliki fungsi yang hampir sama dengan nilai a, hanya saja nilai ini akan melakukan pengulangan mulai nilai 1 hingga panjang karakter yang terdapat di nilai b. Sementara didalam struktur perintah c, terdapat sebuah kondisi yang harus dipenuhi antara lain:
    • Jika karakter yang terdapat di nilai e (baris ke-a dan kolom 1) untuk setiap karakter ke-c (karakter 1 hingga panjang yang didapatkan dari perintah atau nilai b) mempunyai nilai lebih kecil sama dengan 0 (nol) dan lebih besar sama dengan 9 (sembilan), maka sel ke-a kolom ke-5 akan diisi dan ditambahkan dengan nilai yang berisi angka.
    • Kondisi yang kedua adalah, jika karakter-karakter tersebut memiliki nilai lebih besar dari 9, maka hasilnya berupa teks dan akan di letakkan di sel ke-a dan kolom ke-6
  5. Selesai.

Sekilas, bahasa logika diatas terkesan membingungkan, akan tetapi jika dipahami dengan seksama maka saya yakin anda akan mudah untuk memahaminya. Dan untuk melengkapi tutorial ini, seperti biasa saya akan menampilkan hasil akhir seperti dalam tampilan berikut :
ekstrak data acak

Selamat, anda sekarang sudah bisa memecah dan memisahkan antara karakter berupa huruf dan angka dari data acak. Semoga tutorial kali ini ada guna dan manfaatnya untuk anda, dan bisa dengan mudah untuk dipahami.
Silahkan bookmark situs kami dan kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya bersama excelive.com. Arrivederci !!


Menampilkan Informasi Nama Bulan Sebelumnya Dari Tanggal Saat Ini

Menampilkan nama bulan terakhir

Jika anda terbiasa dengan internet banking, mungkin anda bisa menebak kemana arah dan tujuan dari pembahasan kali ini. Ya, karena fitur ini terdapat dalam salah satu menu internet banking, yakni ketika pengguna ingin melihat rekening koran atau mutasi bulanan pembukuan perbankan - yang pada umumnya pengguna hanya diberikan akses untuk melihat pembukuan selama dua atau tiga bulan terakhir dari tanggal saat ini.

Salah satu contoh internet banking yang menerapkan konsep seperti ini adalah Klik BCA, seperti yang terlihat dalam tampilan berikut :
Klik BCA
Gambar disamping merupakan gambar dari rekening pribadi yang saya ambil bersamaan dengan dibuatnya postingan ini, sebagai contoh agar lebih mudah memahami tujuan dari tutorial kali ini.
Dan jika anda lihat, situs KlikBCA memungkinkan pengguna untuk melihat, mencetak, dan atau mendownload mutasi rekening maksimal 2 bulan sebelumnya yang ditampilkan dalam kotak ComboBox. Tentu hal ini cukup beralasan, dan mungkin salah satu alasannya adalah agar tidak membebani tugas server dalam menampikan informasi rekening yang hanya dibatasi maksimal 2 bulan terdahulu.

Kembali ke pokok pembahasan Microsoft Excel.
Bayangkan jika anda memiliki sekumpulan data transaksi keuangan yang tersimpan dalam lembar kerja dalam jumlah yang sangat banyak, kemudian anda ingin membatasi pengguna agar bisa melihat transaksi selama 2 atau 3 bulan terakhir saja agar kinerja komputer tidak terlalu berat. Maka, konsep dari situs KlikBCA seperti gambar diatas dapat anda jadikan sebagai alternatifnya.

Ok, tutorial ini dibuat dengan menggunakan sebuah ComboBox yang diletakkan didalam Userform, jadi silahkan anda buat dan desain dulu UserForm serta ComboBox nya. Kemudian tuliskan kode berikut dan letakkan ke dalam even UserForm Initialize, agar ComboBox dapat terisi secara otomatis dengan nama-nama bulan sebelumnya ketika Userform dibuka atau aktifkan.
Dim a As Long
Dim b As Variant
For a = 2 To 0 Step -1
b = Month(Date) - a
ComboBox1.AddItem Format(DateSerial(Year(Date), b, 1), "mmmm yyyy")
Next a
Penjelasan Singkat dari kode diatas :
  1. Daftar-daftar yang terdapat di ComboBox tidak ditulis secara manual, akan tetapi ditulis secara otomatis dengan menggunakan perintah pengulangan (Loop For...Next) dengan cara dihitung mundur (Step -1) mulai dari angka 2 sampai dengan angka 0.
    Artinya bahwa kode-kode berikutnya nanti akan mengambil informasi dari nilai ini.
  2. Sementara untuk mengisi nama-nama bulan, menggunakan perintah Month(Date) yang akan menghasilkan nama-nama bulan berdasarkan tanggal yang terdapat dalam system komputer. Namun untuk menampilkan hanya beberapa nama bulan terakhir dari 12 nama bulan tersebut, maka baris perintah ini harus dikurangi dengan nilai a yakni 2 to 0 step -1. Dan hasil sementara dari pembacaan kode ini adalah;
    > bulan sekarang - 2
    > bulan sekarang - 1
    > bulan sekarang - 0 (nama bulan yang saat ini aktif)
    Jika anda tidak ingin menampilkan nama bulan saat ini ke dalam daftar ListBox ataupun ComboBox, silahkan ganti parameter nilai a menjadi 2 to 1 Step -1
  3. Terakhir adalah, menampilkan nama bulan tersebut dengan menggunakan parameter standar untuk mengisi daftar ListBox maupun ComboBox, yakni menggunakan parameter AddItem. Akan tetapi, sekali lagi item atau nama-nama bulan tidak harus diketik secara manual, ia berasal dari parameter b, yakni Month(Date) - a.
    Belum selesai sampai disini, karena parameter Month(Date) - a hanya akan menghasilkan indeks nama bulan, seperti nilai 12 untuk Desember, 7 untuk Juli, 5 untuk bulan Mei, dan seterusnya.

    Maka dari itu agar Indeks tersebut berbunyi nama-nama bulan, maka item b harus disematkan dalam parameter Format dengan penulisan lengkapnya seperti berikut :
    Format(DateSerial(Year(Date), b, 1), "mmmm")
    • nilai "mmmm" akan mengkonversi indeks menjadi nama bulan dengan model nama panjang.
    • anda dapat mengubah nilai "mmmm" menjadi "mmm" jika ingin menyingkat nama bulan.
    • atau anda bisa mengkombinasikan nilai ini seperti "mmmm yyyy" untuk menghasilkan nama bulan (format nama bulan panjang) dan di akhiri dengan tahun.

Finish.... dan silahkan lihat hasil dari tutorial ini
Menampilkan nama bulan terakhir

Sekarang Anda sudah berhasil mengetahui bagaimana caranya menampilkan nama beberapa bulan terakhir ke dalam jendela ListBox ataupun ComboBox menggunakan Macro VBA. Semoga belajar Macro VBA excel bersama excelive untuk edisi ini ada manfaatnya.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, see you soon.


Dua Cara Memisah Kalimat Menjadi Beberapa Bagian (huruf)

cara memecah kalimat

Kalimat adalah satuan bahasa terkecil, dalam wujud lisan maupun tulisan yang mengungkapkan pikiran secara utuh. Dalam wujud tulisan (string) kalimat terdiri dari beberapa huruf yang dirangkai sedemikian rupa untuk mengutarakan isi dari pikiran si pengguna.

Dari setiap huruf yang telah dirangkai tersebut, maka jadilah sebuah kalimat, dan setiap kalimat yang saling berhubungan antara satu dengan lainnya akan membentuk sebuah paragraf atau alinea. Jadi semua ini berasal dari sebuah huruf atau jika dibahasakan dalam bahasa pemrograman, ia dinamakan dengan string.

Nah, gabungan dari beberapa huruf-huruf tersebut akan kita coba untuk pisahkan menjadi beberapa bagian (per huruf) tergantung dari banyaknya jumlah huruf-huruf yang dipakai dalam kalimat atau paragraf yang ingin dipisahkan dengan menggunakan bantuan Macro VBA.

Kenapa harus Macro VBA??
Jawaban yang bisa saya berikan dari pertanyaan ini cukup sederhana yakni efektif dalam mengkalkulasi setiap paragraf, kalimat, atau kata yang akan dipecah, karena tidak banyaknya peran dari formula-formula yang akan dikalkulasi dalam lembar kerja.
Dengan kata lain, kasus seperti yang sudah diutarakan di atas tentu saja bisa dilakukan tanpa menggunakan bantuan Macro VBA atau bisa menggunakan formula sederhana.

Ok, sebelum mulai memecah kalimat, berikut ini adalah sekumpulan data-data yang akan kita pecah


Menggunakan Formula Excel
Formula yang digunakan untuk memecahkan solusi ini adalah gabungan dari formula MID dan formula COLUMNS.
Formula MID digunakan untuk menampilkan huruf atau karakter dari posisi yang ditentukan, sementara formula COLUMNS digunakan untuk mengetahui posisi kolom yang ada pada tabel yang sudah kita kelola.
Formula lengkap untuk memisahkan kalimat dari contoh gambar di atas adalah :
=MID($A2;COLUMNS($A:A);1)
Letakkan formula ini di sel B2 kemudian silahkan copy paste ke sel-sel yang diinginkan.
formula memisahkan kalimat

Formula di atas akan membaca spasi sebagai sebuah karakter, sehingga menghasilkan ruang kosong dalam hasil pemisahan kalimat-kalimat tersebut.

Baca Tutorial Formula Excel Lainnya
Solusi Handal Melakukan Pencarian
Kombinasi Fungsi Match dan Index
Mengenal Formula Pembulatan Angka
Konversi Angka ke Huruf

Menggunakan Macro VBA
Sekarang, mari kita coba memecahkan kasus di atas menggunakan bantuan Macro VBA.
Langkah awal yang harus anda lakukan adalah membuka terlebih dahulu jendela Microsoft Visual Basic Editor yang bisa anda akses menggunakan tombol pintas ALT+F11, kemudian tambahkan sebuah Module Baru dan ketikkan baris kode berikut didalamnya.
Sub Pisah_Kalimat ()
Baris = 2
For a = 2 To 4
    Kata = Replace(Cells(Baris, 1), " ", "")
    Pjg = Len(kata)
    Kolom = 2
For i = 1 To Pjg
    b = Mid(Kata, i, 1)
    Cells(Baris, Kolom) = b
    Kolom = Kolom + 1
Next
Baris = Baris + 1
Next
End Sub 
memisahkan kalimat menggunakan Macro VBA
Penjelasan singkat dari baris kode Macro VBA di atas :
  • Baris
    Adalah sebuah variabel yang berfungsi untuk menentukan letak awal dimana kalimat tersebut berada
  • For a = 2 to 4
    Baris perintah untuk melakukan pembacaan baris, yakni dimulai dari baris ke-2 hingga baris ke-4 (silahkan ubah nilai 4 jika terdapat beberapa baris yang ingin di proses)
    atau jika anda ingin agar pembacaan baris dapat dibaca secara otomatis, silahkan anda buat sebuah variabel baru untuk menggantikan nilai 4 - silahkan cari tutorial otomatisasi di situs ini
  • Kata
    Berfungsi untuk membaca setiap kalimat yang terdapat di baris yang sudah ditentukan dengan menghilangkan karakter spasi (Replace).
    Dan jika anda ingin agar karakter spasi tetap dituliskan, maka ganti baris kode ini menjadi Cells(Baris, 1)
  • Pjg
    Digunakan untuk mementukan jumlah panjang dari kalimat yang akan dipecah. Hal ini berfungsi untuk menentukan posisi kolom untuk meletakkan setiap hurufnya.
  • Kolom = 2
    Merupakan nilai indeks dari kolom sebagai awal untuk meletakkan hasil pemecahan kalimat, untuk tutorial ini kolom awalnya adalah kolom B (indeks = 2)
  • For i = 1 To Pjg
    Menentukan berapa banyaknya huruf yang nantinya akan dihasilkan
  • b = Mid(Kata, i, 1)
    Memiliki fungsi yang sama dengan formula MID dalam Microsoft Excel
  • Cells(Baris, Kolom) = b
    Bertugas untuk meletakkan hasil dari formula MID ke setiap sel-sel yang ditentukan oleh variabel Baris dan Kolom.
  • Kolom = Kolom + 1
    Berfungsi untuk melanjutkan atau meneruskan pembacaan kolom jika masih terdapat huruf-huruf yang harus ditulis.

Keputusan akhir ada di tangan anda, mana dari kedua metode di atas yang sesuai dengan kebutuhan anda untuk memecahkan permasalahan dalam hal memisahkan kalimat baik menggunakan Formula Excel atau menggunakan bantuan Macro VBA. Dan jika anda memutuskan untuk menggunakan Macro VBA, jangan lupa untuk menyimpan format file Microsoft Excel anda ke bentuk .xlsm atau .xlsb agar kode-kode yang sudah anda tulis ikut tersimpan dan tentunya agar bisa dijalankan.

Sekarang anda sudah mengetahui bagaimana caranya untuk memisahkan kalimat menjadi huruf-huruf baik menggunakan Formula Excel maupun dengan Macro VBA, dan semoga tutorial kali ini ada guna dan manfaatnya.
Silahkan kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya bersama excelive.com. see you soon.



Our Services


design

all the design of each tutorial has passed the test for excel 2007 up

installation

every each codes on this site are provided "as is" and are easy to install

youtube

in order to facilitate you in learning excel, you can visit our channel here

download

to complete all excel lessons, we have provided a download link for you

Interested for our works and services?
Get more of our update !