Excel Sebagai Output VB

3.1

Excel Sebagai Output VB

Sebagaimana kita ketahui, VB dapat memproses data dari berbagai sumber atau format data, misalnya data dBASE, Access, SQL Server, MySQL, dan lain-lain. Data yang sudah diproses VB bisa dikeluarkan dalam bentuk cetakan menggunakan Data Report, Crystal Report, atau yang lainnya. Dalam banyak kasus, pengguna program kita menginginkan hasil proses program (termasuk juga laporan) disimpan dalam bentuk buku kerja Excel. Tentu dengan berbagai alasan, misalnya data dapat diolah lagi atau dapat dicetak bagian-bagian tertentu saja. Nah, ternyata untuk mengeluarkan hasil proses VB ke dalam buku kerja Excel dapat dilakukan dengan cukup mudah.

23

Bulan. kemudian simpan form dan project-nya dengan nama Lat5.Application Private Sub Command1_Click() 'deklarasi variabel memory Dim NamaFile.1 Project Lat5 3.Text Area = Combo1.2 Menuliskan Data VB ke Excel Guna memudahkan mempelajari cara mengeluarkan data VB ke dalam lembar kerja Excel. Area. kita akan mempelajarinya dengan contoh kasus. Buatlah beberapa object seperti Gambar 3. Tampilkan editor kode program lalu buatlah kode program berikut ini. 2. Gambar 3. 'deklarasi variable object aplikasi Excel Dim oXL As Excel. KgNanas.Text 24 . Untuk itu lakukanlah langkah-langkah berikut ini. 1.3. Tahun As String Dim KgSemangka. KgMangga As Currency 'mengisi variabel dengan isian form On Error GoTo SalahInput NamaFile = Text1. Buatlah project baru dalam VB.1 berikut ini.

Worksheets(1).Text 'membuat instance baru dari Excel Set oXL = New Excel.Range("B5") = Combo3.Range("B10") = KgMangga 'tampilkan Excel oXL.Range("B8") = KgSemangka oXL.Range("B9") = KgNanas oXL.Worksheets(1).Text oXL. Agro Sukses Makmur" oXL.Range("B3") = Combo1.Range("A2") = "Hasil Panen Bulanan" oXL.Workbooks.Worksheets(1).Range("A10") = "Mangga" oXL.Worksheets(1).Bulan = Combo2.Range("B4") = Combo2.Worksheets(1).Range("A5") = "Tahun" oXL.Text Tahun = Combo3.Add 'menuliskan variabel VB ke lembar kerja Excel oXL.Range("B6") = "Jumlah" oXL.Range("B7") = "Kg" oXL.Worksheets(1).Range("A1") = "PT.Text KgSemangka = Text2.Worksheets(1).Workbooks.Worksheets(1).Application 'menambahkan buku kerja baru oXL.Close End 25 .Text KgNanas = Text3.Text oXL.Worksheets(1).Visible = True Exit Sub SalahInput: MsgBox "Ada kesalahan input data!".Worksheets(1).Worksheets(1).Worksheets(1).Range("A3") = "Area" oXL.Range("A4") = "Bulan" oXL.Worksheets(1).Text KgMangga = Text4.Worksheets(1).Worksheets(1).Range("A6") = "Item" oXL.Range("A8") = "Semangka" oXL.Worksheets(1).Text oXL.Worksheets(1).Range("A9") = "Nanas" oXL. vbOKOnly End Sub Private Sub Command2_Click() 'menutup buku kerja Excel oXL.

Text = "" Text3. isilah form dengan data-data seperti berikut ini. Setelah selesai.Text = "" Combo3.End Sub Private Sub Form_Load() 'mengosongkan form Text1. simpan lagi project dengan nama yang sama (Ctrl+S) kemudian jalankan program.Text = "" Combo2.Text = "" Text4. maka program akan menampilkan hasilnya dalam buku kerja Excel seperti berikut ini. Saat program sudah berjalan. 26 .Text = "" End Sub 4. Gambar 3.Text = "" Text2.Text = "" Combo1.2 Contoh mengisi data pada Project Lat5 Jika kemudian Anda klik Simpan Ke Excel.

. Sebelum kita perbaiki lagi.Text = "" Combo3. marilah kita lihat cara kerja program ini.Text = "" End Sub Selanjutnya jika form sudah diisi dan Anda klik tombol Simpan Ke Excel maka program akan menjalankan rutin berikut ini.Text = "" Text2.Text = "" Text3.Gambar 3.Text = "" Combo1. Tahun As String Dim KgSemangka.3 Contoh mengisi data pada Project Lat5 Perhatikan bahwa hasilnya pada lembar kerja Excel belum tertata (terformat) dengan baik dan buku kerja juga belum tersimpan ke dalam suatu file. Area. Private Sub Command1_Click() 'deklarasi variabel memory Dim NamaFile. KgNanas. . Private Sub Form_Load() 'mengosongkan form Text1. Rutin ini berfungsi untuk mengosongkan isian form. program akan menjalankan rutin berikut ini. KgMangga As Currency . 27 .Text = "" Combo2.Text = "" Text4. Saat program dijalankan pertama kali. Bulan.

.Text Bulan = Combo2. proses pengisian variabel akan berjalan mulus dan rutin akan melanjutkan ke barisbaris berikut ini. .Text Area = Combo1. Jika pengisian form dilakukan dengan benar. . . Exit Sub SalahInput: MsgBox "Ada kesalahan input data!". maka program tidak akan meneruskan proses. .Text KgSemangka = Text2. Perhatikan bahwa jika saat mengisi form Anda memasukkan data yang salah.Text KgNanas = Text3. misalnya mengisi jumlah Kg dengan teks. Kemdian rutin akan menjalankan baris-baris berikut ini. .Text . . . . . . .Add 28 . .Text Tahun = Combo3. tetapi melompat ke Label Program bernama SalahInput. 'membuat instance baru dari Excel Set oXL = New Excel. End Sub Saat rutin Command1_Click dijalankan akan dibuat variabel yang akan dipakai untuk menampung data yang diinput ke dalam form. ..Workbooks. vbOKOnly End Sub Baris-baris di atas berarti program akan mengisi variabel-variabel memory dengan isian form.Application 'menambahkan buku kerja baru oXL. . . 'mengisi variabel dengan isian form On Error GoTo SalahInput NamaFile = Text1.Text KgMangga = Text4.

Worksheets(1).Range("A9") = "Nanas" oXL.2).Range("B3") = Combo1.Text oXL.Range("B4") = Combo2.Worksheets(1). Perhatikan bahwa di bagian atas program (di atas subprogram yang paling atas) sudah didefiniskan variabel oXL yang bertipe Excel. dari 29 .Worksheets(1).Application dan tentu saja sudah ditambahkan referensi library (lihat Subbab 1. Perhatikan bahwa baris-baris berikut ini sebetulnya sama diganti dengan baris-baris di bawahnya.Range("B6") = "Jumlah" oXL.Range("B10") = KgMangga 'tampilkan Excel oXL. atau nilai property suatu object) ke dalam sel-sel Excel.Worksheets(1).Range("A6") = "Item" oXL.Range("B5") = Combo3.Range("A3") = "Area" oXL. variabel.Worksheets(1). 'menuliskan variabel VB ke lembar kerja Excel oXL.Visible = True Exit Sub Baris-baris program di atas berfungsi menuliskan data-data (baik itu konstanta.Range("A1") = "PT. Selanjutnya program akan menampilkan aplikasi Excel dengan buku kerja yang baru diisi datanya.Range("A8") = "Semangka" oXL. jika atas VB.Worksheets(1).Range("A5") = "Tahun" oXL.Range("A10") = "Mangga" oXL.Text oXL.Worksheets(1).Worksheets(1).Range("A4") = "Bulan" oXL.Worksheets(1).Range("B7") = "Kg" oXL.Worksheets(1).Range("B8") = KgSemangka oXL.Worksheets(1).Worksheets(1). Selanjutnya program akan menjalankan baris-baris berikut ini.Worksheets(1).Range("A2") = "Hasil Panen Bulanan" oXL.Worksheets(1).Worksheets(1). Baris-baris di bagian mengisi sel-sel Excel langsung dari nilai property object sedangkan baris-baris di bawahnya mengisi sel-sel Excel variabel yang sebelumnya sudah diisi nilai property object VB.Worksheets(1).Worksheets(1).Baris-baris di atas berarti program akan membuat instance baru berupa aplikasi Excel dan menambahkan buku kerja baru ke dalamnya.Text oXL.Range("B9") = KgNanas oXL. Agro Sukses Makmur" oXL.

Range("B4") = Combo2.Worksheets(1). Area.Range("B5") = Combo3.Text oXL.Text oXL. Simpanlah form dan project dengan nama baru.oXL.Worksheets(1).Text oXL.Range("B5") = Tahun 3.Range("B4") = Bulan oXL. Padahal belum tentu data dalam buku kerja Excel sudah tersimpan. KgMangga As Currency Dim Pilih As Integer 'mengisi variabel dengan isian form On Error GoTo SalahInput NamaFile = Text1.Application 'deklarasi variable object buku kerja Dim oXLBook As Workbook Private Sub Command1_Click() 'deklarasi variabel memory Dim NamaFile. Tampilkan editor kode program lalu editlah kode programnya menjadi seperti berikut ini. Bulan.3 Menyimpan Buku Kerja Excel Pada contoh project di atas (Lat5) buku kerja baru ditambahkan.Range("B3") = Area oXL.Worksheets(1).Worksheets(1).Worksheets(1). 2. buku kerja. 1. Untuk itu lakukanlah langkah-langkah berikut ini. Juga sebagai contoh penulisan dengan variasi lain yang lebih fleksibel dalam penggunaan aplikasi Excel. Jika kemudian Anda klik tombol Close.Range("B3") = Combo1. Pada contoh berikut ini kita akan mempelajari cara menyimpan buku kerja Excel ke dalam suatu file. 'deklarasi variable object aplikasi Excel Dim oXL As Excel.Text 30 . serta lembar kerja. Tahun As String Dim KgSemangka. yaitu Lat6. maka program akan berusaha menutup dulu aplikasi Excel sebelum menutup dirinya sendiri.Worksheets(1). kemudian ditampilkan dalam aplikasi Excel. KgNanas.

Worksheets(1).Range("A2") = "Hasil Panen Bulanan" oXLBook.Text oXLBook.Range("A6") = "Item" oXLBook.Worksheets(1).Range("B7") = "Kg" oXLBook.Add 'menuliskan variabel VB ke lembar kerja Excel oXLBook.Visible = True Else 'menutup buku kerja Excel 31 .Range("A4") = "Bulan" oXLBook.Text Bulan = Combo2.SaveAs NamaFile Pilih = MsgBox("Tampilkan hasil di Excel?".Workbooks.Range("A9") = "Nanas" oXLBook.Application 'menambahkan buku kerja baru dalam variabel Set oXLBook = oXL.Worksheets(1).Worksheets(1).Text oXLBook.Range("B5") = Combo3.Text KgMangga = Text4.Worksheets(1).Worksheets(1).Worksheets(1).Worksheets(1).Text KgSemangka = Text2. Agro Sukses Makmur" oXLBook.Range("A10") = "Mangga" oXLBook.Text oXLBook.Text 'membuat instance baru dari Excel Set oXL = New Excel.Area = Combo1.Worksheets(1).Worksheets(1).Worksheets(1).Range("B8") = KgSemangka oXLBook.Worksheets(1). vbOKCancel) If Pilih = vbOK Then 'tampilkan Excel oXL.Text Tahun = Combo3.Worksheets(1).Range("B10") = KgMangga On Error GoTo 0 'menyimpan excel ke file NamaFile = "C:\LatVBExcel\" & Text1.Worksheets(1).Text KgNanas = Text3.Range("B3") = Combo1.Range("A1") = "PT.Range("B9") = KgNanas oXLBook.Worksheets(1).Range("B6") = "Jumlah" oXLBook.Range("A3") = "Area" oXLBook.Range("A8") = "Semangka" oXLBook.Worksheets(1).Range("A5") = "Tahun" oXLBook.Text oXLBook.Worksheets(1).Range("B4") = Combo2.

Text = "" Text3.Close 'keluar dari aplikasi Excel oXL.Text = "" Text4. 32 .Quit End End Sub Private Sub Form_Load() 'mengosongkan form Text1. simpan lagi project dengan nama yang sama (Ctrl+S) kemudian jalankan program.Close 'keluar dari aplikasi Excel oXL.Quit End If Exit Sub SalahInput: MsgBox "Ada kesalahan input data!". Jika kemudian Anda klik tombol Simpan Ke Excel. Setelah selesai. Saat program sudah berjalan.Text = "" Text2.Text = "" Combo3.Text = "" Combo2.Text = "" End Sub 3. isilah form dengan data-data seperti Gambar 3. maka akan muncul tampilan seperti berikut ini.oXLBook.Text = "" Combo1. vbOKOnly End Sub Private Sub Command2_Click() 'menutup buku kerja Excel On Error Resume Next oXLBook.2.

4 Konfirmasi menampilkan Excel Kemudian jika Anda klik OK. maka akan ditampilkan buku kerja Excel yang merupakan hasil penyimpanan program VB seperti Gambar 3. Yang pertama adalah di bagian deklarasi variabel object. Seperti perintah berikut ini yang berfungsi untuk menyimpan buku kerja ke dalam suatu file Excel. dibuat juga variabel object buku kerja seperti berikut ini.Gambar 3.Text oXLBook.3. yaitu Tes 1 dan ini menunjukkan bahwa buku kerja tersebut sudah tersimpan dalam file Excel.SaveAs NamaFile Selanjutnya untuk menambahkan buku kerja baru dan mengisi lembar kerja dengan data dapat dilakukan dengan penulisan kode program berikut ini. Sekarang mari kita perhatikan beberapa perbedaan dan pengembangan pada program Lat6 dibanding program sebelumnya. Akan tetapi. 'deklarasi variable object aplikasi Excel Dim oXL As Excel.Application 'deklarasi variable object buku kerja Dim oXLBook As Workbook Dengan menyimpan buku kerja dalam sebuah variabel akan menjadikan penulisan operasi pada buku kerja menjadi lebih mudah dan untuk beberapa perintah memang diperlukan menyimpan buku kerja dalam variabel. 33 . 'menyimpan excel ke file NamaFile = "C:\LatVBExcel\" & Text1. jika Anda perhatikan pada batang program Excel (kiri atas jendela Excel) akan terdapat nama file Excel.

termasuk tanda “=” di awal teks rumus. . lakukanlah langkah-langkah berikut ini. Gambar 3. Anda dapat juga menuliskan rumus ke dalam lembar kerja Excel.Workbooks. Rumus dapat dituliskan ke dalam suatu sel dalam bentuk string rumusnya. . kerja Excel = "PT. Sebagai contoh.Range("A2") oXLBook.5 Contoh menyimpan rumus 34 .'menambahkan buku kerja baru dalam variabel Set oXLBook = oXL.Worksheets(1). . 2.Worksheets(1).Range("A1") oXLBook. . 'menutup buku kerja Excel oXLBook.4 Mengisi Rumus ke dalam Excel Selain teks dan angka. Buatlah project baru dan simpanlah form serta project-nya dengan nama Lat7.Quit 3.Close 'keluar dari aplikasi Excel oXL. Agro Sukses Makmur" = "Hasil Panen Bulanan" = "Area" Sedangkan untuk menutup buku kerja dan menutup aplikasi Excel dapat dilakukan dengan menuliskan kode program seperti berikut.Add 'menuliskan variabel VB ke lembar oXLBook. Buatlah object-object ke dalam form seperti berikut ini. 1. .Range("A3") .Worksheets(1).

Add 'menuliskan teks ke lembar kerja Excel oXLBook.Worksheets(1). 'deklarasi variable object aplikasi Excel Dim oXL As Excel.Range("B1") oXLBook.3. mJumlah As Currency Dim mRumus As String Dim Pilih As Integer 'mengisi variabel dengan isian form On Error GoTo SalahInput mData1 = Val(Text1.Worksheets(1).Workbooks.Text) mData3 = Val(Text3.Worksheets(1).Application 'menambahkan buku kerja baru dalam variabel Set oXLBook = oXL.Worksheets(1).Text) mData2 = Val(Text2. mData3.Range("B2") oXLBook.Application 'deklarasi variable object buku kerja Dim oXLBook As Workbook Private Sub Command1_Click() 'deklarasi variabel memory Dim mData1.Range("A1") = "Data 1" oXLBook.Worksheets(1).Text = mJumlah mRumus = "=sum(b1:b3)" 'membuat instance baru dari Excel Set oXL = New Excel.Text) mJumlah = mData1 + mData2 + mData3 Text4.Range("A2") = "Data 2" oXLBook.Range("B3") kerja Excel = mData1 = mData2 = mData3 'rumus diisi string rumus diawali tanda = 35 . mData2.Worksheets(1).Range("A4") = "Jumlah" 'menuliskan variabel VB ke lembar oXLBook.Range("A3") = "Data 3" oXLBook.Worksheets(1). Tampilkan editor kode program dan ketikkanlah kode programnya seperti berikut ini.

Text = "" Text2. vbOKOnly End Sub Private Sub Command2_Click() 'menutup buku kerja Excel On Error Resume Next oXLBook.Text = "" Text3.Worksheets(1). 36 .Visible = True Else 'menutup buku kerja Excel oXLBook.Text = "" Text4.Close 'keluar dari aplikasi Excel oXL.Quit End If Exit Sub SalahInput: MsgBox "Ada kesalahan input data!". kemudian jalankan project.Quit End End Sub Private Sub Form_Load() 'mengosongkan form Text1. Simpan kembali project dengan nama yang sama. vbOKCancel) If Pilih = vbOK Then 'tampilkan Excel oXL.Range("B4") = mRumus Pilih = MsgBox("Tampilkan hasil di Excel?".oXLBook.Close 'keluar dari aplikasi Excel oXL.Text = "" End Sub 4.

. . .6 Contoh pelaksanaan menyimpan rumus Jika kemudian Anda klik tombol Hitung dan Simpan Ke Excel. Gambar 3. maka akan ditampilkan Excel dengan hasil seperti berikut ini. Jika kemudian Anda klik OK. mRumus = "=sum(b1:b3)" .7 Hasil menyimpan rumus dalam Excel Perhatikan bahwa pada sel B4 yang tersimpan adalah rumus.6. maka program menanyakan apakah buku kerja hasil Excel penyimpanan program akan ditampilkan. . . Rumus tersebut adalah hasil penulisan variabel mRumus yang bertipe string dengan penulisan seperti berikut ini. . .Contoh hasil pelaksanaan program adalah seperti Gambar 3. Gambar 3. . . . Dim mRumus As String . 37 . . . .

..Worksheets(1). . 38 . . oXLBook. .Range("B4") = mRumus . . . .