Tutorial VBA dan Macro Dasar dengan Excel 2007

Visual Basic for Application atau VBA adalah sebuah bahasa pemrograman yang dibuat oleh Microsoft dan dapat digunakan untuk meningkatkan kemampuan aplikasi Office, termasuk di dalamnya Excel.

Macro sendiri adalah kumpulan command dan prosedur untuk melakukan tugas tertentu, disimpan dalam bentuk modul pada file Excel. Macro dapat dipanggil untuk menanggapi suatu kejadian (event) seperti suatu klik pada tombol.

Dengan banyaknya masukan kepada kami untuk membuat artikel tutorial sederhana mengenai VBA dan Macro, kami coba jawab dengan artikel tutorial berikut dengan format ringkas, praktis, tapi padat.  Semoga artikel ini bisa bermanfaat untuk melangkah ke tahap belajar selanjutnya.

Praktek 1 : Mengaktifkan Tab Developer

Tab Developer berisi menu-menu yang akan kita gunakan untuk bekerja dengan VBA, berikut adalah langkah-langkah untuk mengaktifkan tab tersebut :
  1. Jalankan aplikasi Microsoft Excel 2007.
  2. Klik menu Office.

  3. Klik tombol Excel Options.

  4. Pada dialog yang muncul, pilih kategori Popular pada bagian panel kiri.
  5. Aktifkan opsi Show Developer tab in the Ribbon.

  6. Klik tombol OK.
  7. Pastikan tab Developer sudah terlihat pada Ribbon.

Praktek 2 : Visual Basic Editor (Editor)

  1. Klik tab Developer pada Ribbon, dari group Code klik Visual Basic (atau tekan Alt+F11).

  2. Akan muncul Visual Basic Editor, yang merupakan tempat dimana kita memasukkan dan mencoba kode program kita.

  3. Pada panel kiri atas - bagian project, klik kanan pada Sheet1 dari project dengan nama VBAProject (Book1), kemudian pilih menu View Code.



    Ini akan membuka tampilan editor untuk code kita, yang akan dikelompokkan dalam suatu module. Ketikkan code berikut pada editor tersebut.

    Private Sub HelloWorld()
            Worksheets("Sheet1").Range("A1").Value = "Hello World"
            Worksheets("Sheet1").Range("C3").Value = "Hello World"
    End Sub

    Penjelasan : Code ini adalah perintah membuat satu procedure dengan nama HelloWorld, yang didefinisikan di dalam Private Sub ... End Sub.
  4. Arahkan cursor Anda pada bagian dalam prosedur tersebut dan tekan tombol F5 untuk menjalankan program kita. 
  5. Anda akan diminta untuk menyimpan file, masukkan nama BelajarVBA.xlsm. Perhatikan ekstensi yang disimpan bukan tipe xlsx. File .xlsm merupakan file Excel dimana makro diperbolehkan atau disebut dengan Excel Macro-Enabled Workbook file.
  6. Mari kembali ke worksheet kita, Anda akan menemukan bahwa pada Sheet1 sudah terisi kata "Hello World" pada cell A1 dan C3.

Praktek 3 : Menambahkan Visual Control

Control adalah komponen visual / grafis seperti tombol, yang dapat ditempatkan pada worksheet kita sehingga aplikasi kita menjadi lebih interaktif. Berikut adalah contoh penggunaan control : 
  1. Masih pada Sheet1, coba arahkan cursor ke alamat E1.
  2. Pada tab Developer, group Controls, klik gambar panah bawah kecil pada menu Insert. Dari pilihan yang muncul klik Spin Button (Form Control), gambar bentuknya pada sheet kita.

  3. Klik kanan pada spinner tersebut, dan pilih Format Control.
  4. Pada dialog yang muncul, klik tab Control dan masukkan nilai-nilai berikut, dan klik tombol OK setelah selesai.
    • Current Value : 0.
    • Minimum Value : 0.
    • Maximum Value : 200.
    • Incremental Change : 25.
    • Cell link : A2.
  5. Cobalah klik gambar panah pada spinner dan perhatikan perubahan nilai yang terjadi pada cell A2.

Praktek 4 : Menambahkan Macro sebagai Event Handling pada Control

  1. Klik kanan pada spinner control tersebut, pilih Assign Macro
  2. Pada dialog yang muncul klik tombol New.
  3. Editor VBE akan muncul kembali dengan cursor berada pada prosedur bernama Spinner[INDEX]_Change(). Tambahkan code berikut pada body prosedur.

    Dim NilaiSpinner As Integer

    NilaiSpinner = ThisWorkbook.Sheets(
    1).Spinners(1).Value

    ThisWorkbook.Sheets(
    1).Spinners(1).Top = NilaiSpinner

  4. Simpan dengan menekan CTRL + S.
  5. Kembali ke worksheet dan coba klik spinner kita, akan terlihat spinner kita bergerak ke atas atau ke bawah sesuai irama klik tombol panah atas bawah pada spinner.

Praktek 5 : Menyimpan dan Membuka Kembali Workbook VBA kita

  1. Tutup dan kemudian buka kembali workbook kita.
  2. Secara default, Excel 2007 akan menonaktifkan perintah VBA / Macro pada workbook yang kita buka. Terlihat pada security warning yang muncul pada bar bagian atas worksheet (gambar).

  3. Klik tombol Options pada bar tersebut.
  4. Pilih opsi Enable this content, klik tombol OK.
  5. Anda sudah dapat menjalankan kembali code VBA Anda.
  6. Selesai.

Kesimpulan

Demikian kami tuangkan cara penggunaan dasar VBA dengan break down praktek 1 sampai dengan 5. Semoga ini dapat memberikan sedikit pengalaman dan pencerahan bagi Anda untuk melanjutkan pembelajaran melalui berbagai artikel VBA yang ada di internet maupun media lainnya.

Saat ini artikel VBA disadari masih belum cukup, namun akan ditingkatkan jumlah dan kualitasnya. Untuk Anda yang ingin berdiskusi lebih jauh mengenai makro dan VBA, penulis mengajak Anda bergabung di user group Facebook kita berikut yang saat ini cukup aktif dan telah beberapa kali membahas VBA.

    18 comments:

    1. Replies
      1. Terima kasih atas apresiasinya Pak. Semoga bermanfaat, akan kita sambung dengan artikel-artikel VBA lainnya :)

        Delete
    2. kalo macros disetting dengan analogi sbb:

      1.A mengirim email dgn lampiran excel(file excel tsb adalah sebuah laporan sehingga terdapat link-link dari file tsb) kemudian dikirim ke B,trus B membuka file tsb kemudian menyimpannya,di asumsikan ke salah satu folder di direktori D:\.file excel tsb link ke sebuah folder pc B yang mana di khususkan untuk menampung laporan tsb atau lebih gampangnya kirim laporan online dengan email dan laporan tsb link ke form laporan email tujuan...bisa ngak ya?

      ReplyDelete
      Replies
      1. Hi Anonymous, saya tidak begitu nangkap problemnya. Tapi jika maksudnya file yang sudah dikirimkan via email oleh A, bisa diproses oleh B setelah diterima pasti bisa. Untuk pengiriman email via VBA bisa coba lihat url berikut : http://www.rondebruin.nl/mail/folder1/mail1.htm. Semoga bermanfaat.

        Delete
    3. mohon bantuan perintah vba pada excel untuk memindahkan satu cell ke kanan secara otomatis setelah diisi satu karakter . terima kasih atas batuannya

      kirim ke waluyorahayu@yahoo.com

      ReplyDelete
    4. mantep..kyaknya bakal jadi tempat nongkrong saya ini :)
      ditunggu artikel VBA pada excel yg lain

      ReplyDelete
    5. ikut menyimak, trus berkarya gan..

      ReplyDelete
    6. Tutorial ini sangat membantu saya belajar visual basic pada ms excel, saya sangat berharap tutorial ini bisa terus berlanjut.... :)

      ReplyDelete
    7. mohon bantuannya. saya ingin mencetak isi sheet2(ada 5 halaman) dari sheet1 dengan pemilihan halaman yang akan dicetak disertai pemilihan jumlah copy cetaknya. atas jawabanya terima kasih

      ReplyDelete
    8. mw tanya gan, sya ingin memasukkan file gambar dari drive ke excel. tapi bisa gk gan ada form/codenya supaya saya bisa memasukkan filnya secara bersamaan(filenya banyak) ke excelo sesuai dengan nama gambar yang ada di drive..thx,,minta tolong di share gan,

      ReplyDelete
    9. bagus ni tutorialnya tentang excel..
      salam kenal aja gan

      ReplyDelete
    10. mas..mau tanya kalau mau bikin formula sum (penjumlahan menyamping) TETAPI acak, melompat 3 kolom baru + dan seterusnya, perintah di scriptnya bagaimana, mohon pencerahan

      ReplyDelete
      Replies
      1. InsyaAllah kira-kira begini:
        =Sum(A1:C3;G1:I1) dst, dengan cara (meng-Klik + Ctrl) pada cell yang kita inginkan.

        Delete
    11. Mohon izin copy paste buat belajar.

      ReplyDelete
    12. memunculkan VBA macro yang di protect gimna ya pak?
      mohon pencerahan

      ReplyDelete
    13. bagaimana mengaktifkan module di tools pak?
      mohon pencerahannya

      ReplyDelete

    Launching E-BOOK EIUG: Form Entry Sederhana dengan Excel VBA

    Pengunjung BelajarExcel.info Yang Saya Hormati, Pada tanggal 14 Juni 2014,Excel Indonesia User Group (EIUG) yang merupakan salah satu k...