Koneksi Visual Basic dengan Excel


Visual basic dapat membaca dan menulis informasi dari dan ke worksheet excel bahkan dapat melaksanakan perintah excel seperti merobah lebar column, memilih jenis huruf, mengatur border dll.

Untuk membuat koneksi Visual basic dengan excel dapat dilakukan dengan sangat mudah sehingga anda dengan mudah dapat menampilkan laporan keuangan dari aplikasi database visual basic ke dalam worksheet excel mulai dari form, laporan periodik, rugilaba, neraca bahkan grafik dll. Sebaliknya anda dapat mengimport data dari workseet excel ke database. 

Berikut ini adalah cara membuat koneksi visual basic ke excel untuk membuka file tamplate yang telah disediakan dan selanjutnya anda dapat menuliskan informasi pada worksheet tersebut

Membuat koneksi

      Dim vExcel As Excel.Application

Dim No, tbatal, tlunas, Tajt

No = 0

tbatal = 0

tlunas = 0

tajt = 0 

Dim startRow

Membuka aplikasi Excel dengan mengalokasikan memori untuk aplikasi excel.

      Set vExcel = CreateObject(“Excel.Application”)  

Membuka file tamplate yang telah disediakan.   

      vExcel.Workbooks.Add (App.Path & “\namafile.xlt”)

Mengaktifkan Worksheet excel

     vExcel.Visible = True

Menentukan windows excel ditampilkan maksimum

      vExcel.WindowState = xlMaximized   


Mengatur lebar Column misalnya column A akan di set menjadi 30

   vExcel.Columns(“A”).ColumnWidth = 30

Menulis informasi ke dalam worksheet 

  With vExcel.ActiveSheet

  •         .Cells(1, 1).Value = MyCom
  •         .Cells(2, 1).Value = MyAddr
  •         .Cells(3, 1).Value = “LAPORAN PENGELUARAN KAS”
  •         .Cells(4, 1).Value = “PERIODE : ” & Format(DrTgl, “dd-MMM”) & ” s/d ” & Format(SdTgl, “dd-MMM-YYYY”)
  •         .Cells(6, 1).Value = “No”
  •         .Cells(6, 2).Value = “Voucher”
  •         .Cells(7, 2).Value = “Nomor”
  •         .Cells(7, 3).Value = “Tanggal”
  •         .Cells(6, 4).Value = “Chk/Giro”
  •         .Cells(7, 4).Value = “Nomor”
  •         .Cells(7, 5).Value = “Efektif”
  •         .Cells(6, 6).Value = “Rek”
  •         .Cells(6, 7).Value = “KodeSpl”
  •         .Cells(6, 8).Value = “Jumlah”
  •         .Cells(6, 9).Value = “Keterangan”

dan seterusnya …..

Dari cuplikan coding di atas anda telah mendapatkan header laporan pengeluaran kas yang selanjutnya anda tinggal mengisikan detail dari database yang telah tekoneksi melalui kodesi Ado dengan recordsed rs  sbb

        N = 1

       startRow

        Do While Not rs.EOF

            ‘Cells(Baris,Kolom)

            .Cells(startRow + N, 1).Value = N

            .Cells(startRow + N, 2).Value = rs!Voucher

            .Cells(startRow + N, 3).Value = rs!tanggal

            .Cells(startRow + N, 4).Value = rs!chkNo

            .Cells(startRow + N, 5).Value = rs!efektif

            .Cells(startRow + N, 6).Value = Left(rs!account, 6)

            .Cells(startRow + N, 7).Value = rs!kodespl

            .Cells(startRow + N, 8).Value = rs!Jumlah

            .Cells(startRow + N, 9).Value = rs!Ket

          ‘ mendapatkan  data yang telah jatuh tempo dan yang belum jatuh tempo

           if rs!batal then

                  tbatal = tbatal + 1

         else

            If rs!efektif <= Date Then
                tlunas = tlunas + rs!Jumlah
            Else
                Tajt = Tajt + rs!Jumlah
            End If

          End If
            rs.MoveNext
            N = N + 1
         Loop

dan seterusnya anda tinggal membuat bagian penutup dari laporan ….

56 Tanggapan

  1. Bos, bisa kasi contoh 1 project bikin COM add in buat excel gak? gw lg pengen belajar COM add in buat excel tapi gak tau source yg bagus buat mulai dari mana neh…ditunggu ya :p

    ZB :
    Ma’af ya!. ngak punya

  2. bro, aku bingung buat macro sbb:
    apabila cell A2 menunjukkan tanggal 08-08-2008
    maka range B1 s.d D5 dihapus.
    minta tolong programnya ya bro..
    .
    thanks

  3. saya masih belum pernah belajar visbac, tapi saya pingin bertanya bisakah saya membuat soal di visbac lantas setiap jawaban siswa terekam di excel sehingga saya dapat mengadakan analisis terhadap jawaban siswa tersebut. kalau bisa dengan senang hati jika diberikan caranya.
    (barusan saya nginstal visbac 6, tapi belum bsa makenya)
    trims

    Zb:
    Sangat bisa, pelajari dulu. Bila telah ditemukan masalah yang spesifik baru nanya? ok.

  4. bozz,, isa tolong gmn cranya buat pic control yang sourcenya dari SQL…!!!!

    Blz yaw bozzz..

    Thanx

  5. bos tolongbisa kirimin komponen isam.soalnya aku lagi ngelink tapi gak punya komponen isam.
    klo bsa sama kasih tao cara ngelink file MS.Excel ke Visual Basic soalnya aku belum terlalu ngerti.

    lezz bosss.key

  6. boss mo nanyak gimana caranya kita bisa tahu jumlah sheet yang ada pada file excel yang datanya akan kita ambil?terima kasih atas infonya

    Zb:
    Yang saya tahu sheet Excel mempunyai nama. dapat berupa nomor seri 1,2 dst a, b dst atau apa saja. Saya tidak pernah menghitung jumlah sheet excel karena saya selalu memberi nama sheet sesuai isinya misalnya file Cashflow xxx dengan nama Sheet “Mdr Jan08” untuk data Cashflow Bank Mandiri Bulan Januari 2008 dst. Karena itu saya tidak perlu berapa jumlah sheet yang ada dalam file excel.

  7. saya sdh bikin project menggunakan VB dan konek ke Excel, tapi setiap kali terhubung ke excel enggak bisa nge save dari VB, jadi setiap habis entry melalui VB dan mau entry baru lagi (kelanjutannya) harus disave dan di close dulu.
    Kasih tau dong perintah nge save dari VB dan gak perlu lagi close excel.
    Thx

  8. Tulungin dunk…..
    Aplikasi saya dah jalan yang perlu saya lengkapi nyambung ke excel, open file , close, save dengan aplikasi. aplikasi dah di exit tapi di task manager masih running tuh gimana ya…

  9. Jenjang saya S1 Akuntansi 2007, namun saya suka membuat program2 or aplikasi2 yg lain (1/2 IT). Saat ini saya lagi membuat Aplikasi Laporan Keuangan (dari harian kas hingga laporan audit) dengan menggunakan VB6, dimana output/inputnya dari Microsoft Excell (bantuan macro excel). Saya membutuhkhan bimbingan dari sapa aja yg bisa membantu masalah saya. Masalah saya adalah :
    Pada saat input melalui combobox (dengan pilihan BOXnya antar sheet1, sheet2, dst…) saya tidak bisa meng-Link atau menampilkan apa yg sudah saya input melalui VB6. exp: perintah activeworkbook / activeworksheet.sheet1nya ga berfungsi.
    Saya harap sapa saja yg membantunya, saya akan memberikan sampel gratis laporan keuangan lengkap dari harian kas hingga laporan keuangan >> vn_aldo83@yahoo.com. Thanks B4…

  10. OK. BOS…
    Thx Ilmunya….. mantap dech…

  11. Buagus bener tutornya….

    Mampir dong ke blog sy, http://bliwayan.wordpress.com/

    TQ

  12. bos ceritanya gn ni bos…g pgn data di 1 file misal di B2 …nah tuh file di B2 kan nyambung sama yang file laen di C6 tuh gmn caranya y bos biar klo misal file di B2 g ganti,tar file di c6 itu iktin yang B2 gmn si bos tolong y bos tq

  13. Sy mau nanya.. 🙂 hmm kalo dari excel, bisa gak sy jalankan macro pake timer ? gimana caranya ? kalo dari excel, sy gak liat ada object timer di toolbox nya.gimana cara memunculkan yah ? mohon bantuannya. Thx 🙂
    zb:
    Ma’af saya tidak pernah menggunakannya, mungkin karena saya juga tidak tahu!…

  14. mas ge mna cara mengkoneksi sensor ke aplikasi dengan pemograman Visual Basic 6.0
    cos saya lgi ngerjaen tugas akhir

    Zb:
    Saya kurang memahami sensor yang kamu maksud. Untuk peralatan digital seperti scanner atau alat ukur digital lainya yang mendukung pemrograman VB biasaya menyertakan source code pada buku manualnya atau sekurang-kurang command list yang digunakan pada peralatan tersebut.

  15. Bos, aku mau nanya niey. Aku ada kolom kode_barang, nama_barang, harga_lama, dan harga_baru. Truz aku buat text box dari nama2 kolom itu dengan tujuan setiap aku masukkan kode_barang maka otomatis nama_barang,harga_lama dan harga_baru muncul di text box tersebut. Sehingga memudahkan untuk melakukan perubahan (edit) data harga. Script untuk menampilkan otomatis ke text box nama_barang, harga_lama, dan harga_baru dengan hanya memanggil kode_barang gmn mas? Aku mau pake VBA. Datanya dari Excell.
    Thanks yaa…

    ZB:
    Aniez!… Kamu belajarnya terlalu terburu-buru. Belajarlah dari awal secara bertahap. Bila kamu lakukan secara bertahap kamu takan pernah menemukan masalah seperti ini.

    Juga penggunaan sistem penyimpanan data. Coba kamu pelajari beberapa sistem basis data agar kamu tidak menggunakan Excel untuk itu karena excel adalah aplikasi serba guna yang tidak diperuntukan untuk itu. Biasanya Excel hanya digunakan untuk menampung hasil pengolahan data (report).

  16. gak bisa eui, tanya donk kalau mau nulis ke excel gimana caranya.

    cara diatas selalu error

    Zb:
    Bila anda yakin tidak ada yang terlewatkan atau yang salah ketik, periksa pada VB anda melalui Menu Pronject – Reference lalu anda microsoft excel v? library ok!.

  17. Saya pensiunan, krn nganggur trus diangkat jadi pengurus RW. Saya lg bikin program ngolah data penduduk. pake excel 2003.
    pada worksheet saya ada 3 sheet ( X,Y danZ)
    pada setiap sheet X dan Y di column A dan B ada master data misal di sheet X pada col A datanya XA1 s/d XA12 dan di colum B datanya XB1 s/d XB12. demikian juga di sheet Y ada YA1 s/d YA12 dan YB1 s/d YB12. Masalahnya adalah bagmn caranya memindahkan data dari sheet Y ke sheet Z bila pada sheet Z yang semula kosong menjadi terisi ketika secara acak pada cell row 1 di col A dientry data yang sama dengan data pada salah satu data yang ada pada sheet Y di col A, maka di sheet Z col B row 1 akan terisi salah satu data yang datanya valid (if ZA?=YA?, maka ZB?=YB?). Yang saat ini sdh sy lakukan adalah menggunakan fungsi “IF”. Namun fungsi ini hanya mampu memproses 8 items saja, padahal saya ingin select semua data (12 items). Pleas help me yaaa. Terima kasih pencerahannya

    ZB:
    Coba anda gunakan fungsi VLOOKUP dan HLOOKUP

  18. Bos, saya lagi nyari buku Visual basic dengan data base exel, judul bukunya apa trus pengarang nya siapa, terima kasih atas info nya

    ZB:
    Saya tidak tahu ada buku tersebut dan saya berfikir tidak akan ada orang yang akan menulis buku tersebut karena Excel bukanlah aplikasi database walaupun punya fasilitas pengolahan database.

  19. pak mohon bantuan tutornya aku belum ngerti caranya, list di atas. saya minta yang lengkap atau download hasilnya buat contoh latihan saya. kirim ke emailnya saya ya pak. makasih sebelunya. karena saya mau bikin laporan harian di tempat kerjaan saya

    ZB:
    Seharusnya kamu berusaha melanjutkannya, karena dengan demikian kamu dapat mengerti. Dalam pemrograman mencoba sendiri itu adalah suatu keharusan.

  20. tanya :
    untuk koneksi visual basic dengan ms office 2007 di excelnya gimana caranya y
    mohon pencerahannya

    ZB:
    Saya kebetulan belum mencoba, namun saya pikir tidak ada masalah karena yang bekerja adalah project referece office(nn). Namun kalau memang tidak bisa anda harus install excel 0ffice 2003 untuk anda manfaatkan sebagai object saja sementara anda tetap menggunakan excel 2007. Kalau untuk Vista VB6 memang sudah tidak disupport lagi. Artinya anda harus tinggalkan VB6.

  21. kalo gak ada aplikasi excel yang terinstall pada kompi client gimana? bisa running gak coding tadi?

    ZB: Tidak?…

  22. Bisakah saya menggunakan userform-nya macro excel tapi terhubung dng databasenya access (file mdb) ?. Tolong bantuannya?…

    ZB: Mohon ma’af saya belum pernah mencobanya?…

  23. bos,saya pgn data yang ada (msial di sheet1 range a2:b19) di tampilkan di userform vba nya,,
    caranya gmn yah?apakah harus di jadiin image dulu?
    tlg bantuan nya
    thanx
    ZB:
    Ma’af saya kurang memahami apa yang anda maksud. Soalnya saya tidak pernah menggunakan sheet sebagai pangkalan data dalam Visual Basic.

  24. mau ikutan nanya dunk,,,
    aq mau bikin aplikasi vb, yaitu ngitung regresi dari suatu kumpulan data.nah aq mau ambil beta(parameternya) dari excel (misal cell B34),tapi perhitungan selebihnya dilakukan dalam visual basic 6. bagaimana tuh caranya?
    mohon bantuannya,,,
    terimakasih sebelumnya

    ZB:
    Anda teliti lagi contoh yang ada, disana telah diberikan cara membaca data dari worksheet excel?…

  25. hmm…….. kalo ngebuat merge cells gimana ya caranya

  26. salam, saya mau tanya neh.
    saya sudah berhasil mengkoneksi VB6 dengan excel, ketika di dalam if condition, statementnya tidak mau dieksekusi coz pake combo box juga,ex:
    if combo1.text = “.cells(1.2)” then combo2.additem”(.cells(2.1))” end if
    ada rekomendasi tidak ya? trims sebelumnya.

  27. apa sih yang d maksud dengan program perintah-perintah dalam basis data..?

  28. saya lg mau buat program dengan visual basic 6, jadi ada file excel yang dimasukkan dengan sistem upload dan nantinya dari file excel yang sudah di upload tersebut akan di sortir atau fileter berdasarkan data tertentu, gmn y solusiny ato scriptny..terima kasih

    ZB:
    VB 6 adadalah salah satu bahasa pemrograman yang terpopuler yang memliliki future lengkap namun tetap terbuka untuk pengembang lain untuk melengkapi kemampuan VB. Yang paling banyak digunakan adalah cristal report dari segaete yaitu aplikasi untuk report design melengkapi report design yang terdapat dalam VB6. Excel sebagai aplikasi office juga dapat digunakan sebagai report desing untuk VB dimana VB dimanfaatkan untuk mengautomatisasi dan hasilnya disimpan ke dalam worksheet Excel.

    Permasalahan anda dapat anda selesaikan dengan SQL dalam VB dengan menyertakan Option Order By atau Index. dan menyimpan hasil yang telah tersortir ke dalam worksheet excel yang telah anda sediakan atau bisa juga worksheet excel yang anda create melalui VB seperti contoh yang telah diberikan.

  29. thank..bos, ini udah berguna bgt buat gw…

  30. Bos mau tanya nih, Bagaimana caranya menyimpan data ke file excel dari output file vb yg saya buat?

    ZB:
    Saya juga pengen tahu juga nih output seperti apa yang telah anda buat. Karena menurut saya ada keanehan bila anda telah membuat output ke objek excel namun tidak menemukan command untuk menampilkan dan untuk menyimpan. Coba creative dikitlah kalau perlu anda coba ketik ulang contoh yang saya berikan di atas. Kalau hanya pakai copy paste jelas tidak akan anda temukan.

  31. Boleh minta contoh aplikasinya?
    Klo g praktek langsung kurang mantap.pngen lht cara kerjanya.
    Klo ada krim k email y?
    dimohon bantuannya.
    Thnx b4

  32. bukux ada ga, trs karangan sapa, cz aq cari2 ga ada yg coco, mohon infox trim

    ZB:
    Latar belakang saya memnulis block ini adalah karena saya merasa kecewa dengan buku2 khususnya yang berbahasa Indonesia. Umumnya buku tsb hanya memberikan ilmu yang sangat sedikit sehingga tidak satu buku pun yang dapat mengantarkan kita pada suatu pemaham yang dapat disebut cukup apalagi lengkap. Untuk itu kita harus belajar dari banyak sumber. Banyak sekali contoh2 aplikasi di Internet yang dapat kita gunakan. Yang diperlukan adalah ketekunan.

  33. y deh aku co ba ya tapi kalo bisa ada contoh aplikasinya donk biar bisa belajar dengan mudah

  34. Lagi bikin program vb sederhana dengan laporan status keuangan menggunakan excel. Nah saya kesulitan melakukan merge beberapa cell dengan perintah vb. mohon ditanggapi. thx atas bantuannya

  35. Saya mau tanya. saya sudah ada data diexcel tp saya mau add dan deletenya lewat vb, dengan menggunakan textbox dan command. apa perlu pakek data1?

    ZB:
    Saya hanya memanfa’atkan excel untuk memvisual hasil pengolahan VB sebagai alat automatisasi dan bagi saya pekerjaan sia2 bila excel digunakan sebagai database bagi VB.

  36. thank’s bro….

  37. boz, kalo kasi tutorial yang lengkap donk, buat ane nih yang masih belajar gak ngerti source codenya mau di tulisin di modul, class atau di formnya sendiri, ….???????

  38. bozzz, tolong di bales,yaaaaa ?????
    biar ente banyak pahalanya bagi-bagi ilmu sama orang-orang yang kurang pengetahuan, seperti ane, !!!!!

  39. bro,..bantu dong bahasa pemograman untuk saving data dari user form ke sheet excel
    cth :nama sheet “PSR”.data disaving disepanjang kolom10 berurutan kebawah

    ZB:
    Contoh yang ada pada artikel ini, tinggal anda sesuaikan dengan kebutuhan.

  40. wah…. bermanfaat sekali, karena ternyata bisa digunakan sebagai report tool vb6 juga thow.
    terus berkarya kang yuli….
    maturnuwun….

  41. Mengapa kalau excel dijadikan database kok sia2 ?
    ZB:
    Kita buat aja ilustrasi. Sebuah truk adalah kendaraan besar, bisa angkut orang dan barang. Intinya bisa untuk banyak hal. Bagaimana kalau kita gunakan untuk kekantor atau kesekolah?… Bisa Juga, tapi….

  42. Maaf mas,dalam ilustrasi itu yang diumpamakan kendaraan besar itu yang mana?visual basic atau excelnya.Masalhnya begini mas,saya sedikit ngerti tentang vb macro, dan juga vb 6.tapi saya belum tahu tentang data base yang lain.makanya saya ingin excel dijadikan data base,mohon bimbingannya mas.

    ZB:
    Yang saya ilustrasikan sebagai kendaraan besar itu adalah excel. Excel adalah aplikasi serba guna. Mempunyai fasilitas database namun sangat terbatas. Saya menggunakan Excel dalam pemrograman hanya untuk menampilkan laporan itu juga dalam jumlah terbatas karena ada aplikasi lain untuk menghandle laporan yang saya gunakan adalah cristal report.
    Database untuk usaha kecil dan meneggah cukup pakai Acces dan perusahaan besar seharusnya menggunakan Sistem database sever Kecenderungan orang menggunakan Oracle atau SQLserver dan saya sendiri lebih cenderung memilih MySQL. Yang umun digunakan dalam pemrograman adalah acces karena acces sudah ada dalam paket ms Office.

  43. bagus sekali boz artikelnya, bisa nga gabung di akademi berbagi, pasti akan lebih banyak yg daftar, termasuk aq

  44. kalau margin cell gimana cuy…

  45. iyo.. margin cell gimana ya….
    trus ngubah nama sheet ato nambah sheet gimana cuy…. kalo ganti warna sheet juga ada wah… tambah mantap tuh….

    tx untuk artikel nya kk

  46. maaf sebelumnya, mas bro.
    tapi script koneksi yang sebanyak itu di ketikin dimana, di formulanya excel apa di code vb nya….
    makasih..

  47. mas broo,,,maaf yaaa
    tolong kirimin langkah2 seting vb di excel dong,,, saya ini pemula lagi belajar vb di excel

  48. nice info gan.. thank ya

  49. Bos numpang anya gimana cara membuat formulir inputan dengn vb6 dan data yang di inpun masuk ke excel

  50. terimakasih sobat artikelnya sangant bermanfaaaat

  51. terima kasih sobat

  52. bos kalau ada minta contoh program vb dengan database excelnya. terimakasih sebelumnya

  53. Gan,mohon pencerahanya, gmana ya cara kita input data melalui 1 textbox namun hasilnya bisa otomatis ke excel dan hasilnya berurutan pada row berikutnya?

Tinggalkan Balasan ke agung Batalkan balasan