excelive - kumpulan artikel dan tutorial excel: Loop

New Posts

Post Top Ad

Your Ad Spot
Tampilkan postingan dengan label Loop. Tampilkan semua postingan
Tampilkan postingan dengan label Loop. Tampilkan semua postingan

Dua Cara Memisah Kalimat Menjadi Beberapa Bagian (huruf)

18.10.17 1
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.

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

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