excelive - kumpulan artikel dan tutorial excel: Macro VBA

New Posts

Post Top Ad

Your Ad Spot
Tampilkan postingan dengan label Macro VBA. Tampilkan semua postingan
Tampilkan postingan dengan label Macro VBA. 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 ...

Dua Cara Untuk Memilih Sebuah Sel

7.10.17 0
cara memilih sel dengan macro vba

Dalam Macro VBA Microsoft Excel setidaknya ada 2 (dua) macam metode yang sering digunakan dalam memilih sebuah sel, dan kedua-duanya memiliki keunggulan masing-masing.
Tutorial ini saya masukkan dalam kategori Begginer, karena tingkat kerumitan dalam tutorial kali ini bisa terbilang sangatlah rendah bahkan untuk mendapatkan sebuah alamat yang ingin dituju bisa didapatkan dengan cara menggunakan fasilitas Macro Recording.

Nah, jika anda ingin mengetahui bagaimana caranya merekam sebuah perintah menggunakan fitur Macro Recording, lihat tampilan berikut:

Metode di atas saya gunakan untuk memilih sel F7 yang terdapat di lembar kerja atau Sheet2 dengan menggunakan bantuan Recording, dan untuk melihat kode yang dihasilkan dengan cara merekam ini adalah dengan menekan tombol ALT + F11 untuk menuju ke jendela Microsoft Visual Basic Editor dan pilih atau buka objek Module yang terdapat di jendela VBA Project yang terdapat di sebelah kiri layar
Merekam Macro VBA - Memilih sel

4 baris (diawali dengan tanda ' - berwarna hijau) dalam kode yang dihasilkan, merupakan sebuah catatan dan tidak akan dieksekusi, silahkan untuk menghapusnya karena nantinya tidak akan mempengaruhi baris kode Macro VBA.

Baris kode Macro VBA di atas adalah metode yang umum digunakan ketika kita ingin memilih sebuah sel dalam lembar kerja.
  1. Karena sel yang dipilih berada di lembar kerja lain maka harus diawali dengan baris kode Sheets("Sheet2").Select
  2. Sel F7 adalah lokasi atau tempat yang ingin ditunjukkan dengan menggunakan parameter select
  3. Penulisan sel F7 selain menggunakan parameter Range("C5").Select bisa juga menggunakan parameter [F7].Select
  4. Penunjuk (pointer) dari hasil pemilihan sel di lembar kerja ditampilkan secara acak, tidak diposisikan di baris dan kolom awal (pojok kiri atas lembar kerja). Baris perintah dalam baris kode Macro VBA di atas hanya untuk memilih hasilnya saja dengan tidak mengatur posisi pointer.
  5. Penulisan Baris Macro VBA  ini cukup sederhana dan mudah untuk diingat.

Metode yang kedua untuk memilih sel adalah dengan menggunakan syntax penulisan seperti berikut
Application.Goto Reference:=Worksheets("Sheet2").Range("A15"), scroll:=True
  1. Baris kode ini tidak menggunakan parameter .select seperti yang digunakan dalam metode pertama, sementara untuk pemilihan sel diwakilkan dengan parameter Reference
  2. Peletakan pointer dari hasil penunjukan sebuah sel selalu diposisikan di baris dan kolom awal (ujung kiri atas lembar kerja), hal ini dikarenakan terdapatnya sebuah parameter scroll yang memiliki nilai benar (True), sementara jika parameter scroll di ganti dengan nilai False maka hasil penunjukan akan di letakkan secara acak seperti halnya metode yang pertama
  3. Syntax penulisan untuk metode ini cukup panjang, tidak sesederhana untuk penulisan pada metode pertama
  4. Hasil akhir dari metode yang kedua
    Select + Scroll
Sekarang Anda sudah mengetahui cara-cara untuk memilih sel dalam lembar kerja menggunakan Macro VBA, silahkan tentukan sendiri mana dari dua metode di atas yang sesuai dengan kebutuhan anda.
Semoga belajar Macro VBA excel bersama excelive untuk edisi ini ada manfaatnya.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, Adios.

Read More ...

Menggunakan Tag Untuk Mengontrol Objek VBA Dalam UserForm

3.10.17 0
Istilah Tag mungkin tidak begitu asing bagi anda yang gemar dengan media sosial karena fitur ini hampir selalu digunakan ketiga kita ingin menandai sebuah postingan atau foto dari teman anda. Sejak saya kurang begitu aktif dengan media sosial, maka saya agak sedikit bingung juga menjelaskan istilah ini, tapi pada intinya, fitur dari Tag memiliki fungsi utama yakni untuk memberi tanda atau menandai sebuah objek. kira-kira begitu, CMIIW.

Nah, fitur Tag yang biasanya digunakan dalam media sosial (sebut saja salah satunya adalah Instagram ) ternyata jauh sebelumnya sudah digunakan dalam bahasa pemrograman sederhana seperti Microsoft Visual Basic, dan fungsinya pun sama yakni untuk memberi sebuah tanda atau menandai sebuah objek (baca: objek Macro VBA).

Penggunaan fitur Tag dalam control Objek Macro VBA ternyata tidak semudah ketika kita 'menandai' sebuah objek dalam media sosial, dimana kita diharuskan menuliskan beberapa baris kode yang berhubungan dengan tanda-tanda tersebut agar fitur ini benar-benar bisa difungsikan dengan baik.

Ok, untuk lebih mudah memahami ada baiknya kita langsung praktekkan penggunaannya dalam mengontrol beberapa objek Macro VBA sekaligus dalam sebuah UserForm menggunakan bantuan fitur Tag ini.
  1. Langkah awal, buatlah sebuah UserForm yang mana didalamnya terdapat beberapa objek antara lain:
    • CommandButton
    • TextBox
    • Image, dan
    • OptionButton (atau bisa juga anda letakkan objek selain yang sudah saya sebutkan)
  2. Langkah berikutnya adalah memberikan sebuah tanda (tag) untuk objek-objek tersebut, kecuali objek CommandButton. Hal ini dapat dilakukan dengan cara memilih objek yang akan diberi tanda (tag) kemudian di bagian jendela Properties, gulir kebawah sampai anda menemukan tulisan Tag, dan isikan sembarang karakter untuk objek-objek tersebut dan untuk tutorial kali ini usahakan tag memiliki nilai yang sama untuk setiap objek.
    Tag Macro VBA
    Dari contoh di atas, saya memberikan nilai tag "ABC" untuk ketiga objek tersebut.
  3. Langkah selanjutnya adalah langkah terpenting dalam tutorial ini, yakni memberikan perintah terhadap objek CommandButton untuk mendeteksi objek yang memiliki nilai Tag tertentu agar kemudian dapat dikontrol. Dan baris perintah untuk objek ini adalah
    Dim obj As Control
    With UserForm1
    For Each obj In UserForm1.Controls
    If obj.Tag = "ABC" Then
        obj.Visible = False
    End If
    Next
    End With
    
    Baris kode ini diawali dengan mendeklarasikan nilai obj sebagai sebuah Controls yang terdapat dalam UserForm (nama untuk UserForm aktif adalah UserForm1). Kemudian dilanjutkan dengan mencari setiap objek yang terdapat dalam UserForm tersebut yang memiliki tag dengan nilai "ABC" untuk disembunyikan (visible=false)
    Properti Tag yang digunakan bersifat Case sensitive, jadi pastikan bahwa nilai properti Tag yang terdapat untuk setiap objek ditulis sama persis dalam baris kode Macro VBA agar eksekusi kode berjalan sesuai dengan yang diharapkan.
Sekarang Anda sudah berhasil mempelajari bagaimana cara mengontrol beberapa objek Macro VBA sekaligus menggunakan properti Tag. Semoga belajar Macro VBA excel bersama excelive untuk edisi ini ada manfaatnya.
Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, Adios.
Read More ...

Mengenal Ubound dan Lbound dalam Macro VBA

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

Post Top Ad

Your Ad Spot