Anda di halaman 1dari 16

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

3.2

Menuliskan Data VB ke Excel

Guna memudahkan mempelajari cara mengeluarkan data VB ke dalam lembar kerja Excel, kita akan mempelajarinya dengan contoh kasus. Untuk itu lakukanlah langkah-langkah berikut ini. 1. Buatlah project baru dalam VB, kemudian simpan form dan project-nya dengan nama Lat5. 2. Buatlah beberapa object seperti Gambar 3.1 berikut ini.

Gambar 3.1 Project Lat5

3. Tampilkan editor kode program lalu buatlah kode program berikut ini.
'deklarasi variable object aplikasi Excel Dim oXL As Excel.Application Private Sub Command1_Click() 'deklarasi variabel memory Dim NamaFile, Area, Bulan, Tahun As String Dim KgSemangka, KgNanas, KgMangga As Currency 'mengisi variabel dengan isian form On Error GoTo SalahInput NamaFile = Text1.Text Area = Combo1.Text

24

Bulan = Combo2.Text Tahun = Combo3.Text KgSemangka = Text2.Text KgNanas = Text3.Text KgMangga = Text4.Text 'membuat instance baru dari Excel Set oXL = New Excel.Application 'menambahkan buku kerja baru oXL.Workbooks.Add

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

25

End Sub Private Sub Form_Load() 'mengosongkan form Text1.Text = "" Combo1.Text = "" Combo2.Text = "" Combo3.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub

4. Setelah selesai, simpan lagi project dengan nama yang sama (Ctrl+S) kemudian jalankan program.

Saat program sudah berjalan, isilah form dengan data-data seperti berikut ini.

Gambar 3.2 Contoh mengisi data pada Project Lat5

Jika kemudian Anda klik Simpan Ke Excel, maka program akan menampilkan hasilnya dalam buku kerja Excel seperti berikut ini.

26

Gambar 3.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. Sebelum kita perbaiki lagi, marilah kita lihat cara kerja program ini. Saat program dijalankan pertama kali, program akan menjalankan rutin berikut ini. Rutin ini berfungsi untuk mengosongkan isian form.
Private Sub Form_Load() 'mengosongkan form Text1.Text = "" Combo1.Text = "" Combo2.Text = "" Combo3.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub

Selanjutnya jika form sudah diisi dan Anda klik tombol Simpan Ke Excel maka program akan menjalankan rutin berikut ini.
Private Sub Command1_Click() 'deklarasi variabel memory Dim NamaFile, Area, Bulan, Tahun As String Dim KgSemangka, KgNanas, KgMangga As Currency . . .

27

. . . . . . . . . End Sub

Saat rutin Command1_Click dijalankan akan dibuat variabel yang akan dipakai untuk menampung data yang diinput ke dalam form. Kemdian rutin akan menjalankan baris-baris berikut ini.
'mengisi variabel dengan isian form On Error GoTo SalahInput NamaFile = Text1.Text Area = Combo1.Text Bulan = Combo2.Text Tahun = Combo3.Text KgSemangka = Text2.Text KgNanas = Text3.Text KgMangga = Text4.Text . . . . . . . . . Exit Sub SalahInput: MsgBox "Ada kesalahan input data!", vbOKOnly End Sub

Baris-baris di atas berarti program akan mengisi variabel-variabel memory dengan isian form. Perhatikan bahwa jika saat mengisi form Anda memasukkan data yang salah, misalnya mengisi jumlah Kg dengan teks, maka program tidak akan meneruskan proses, tetapi melompat ke Label Program bernama SalahInput. Jika pengisian form dilakukan dengan benar, proses pengisian variabel akan berjalan mulus dan rutin akan melanjutkan ke barisbaris berikut ini.
'membuat instance baru dari Excel Set oXL = New Excel.Application 'menambahkan buku kerja baru oXL.Workbooks.Add

28

Baris-baris di atas berarti program akan membuat instance baru berupa aplikasi Excel dan menambahkan buku kerja baru ke dalamnya. Perhatikan bahwa di bagian atas program (di atas subprogram yang paling atas) sudah didefiniskan variabel oXL yang bertipe Excel.Application dan tentu saja sudah ditambahkan referensi library (lihat Subbab 1.2). Selanjutnya program akan menjalankan baris-baris berikut ini.
'menuliskan variabel VB ke lembar kerja Excel oXL.Worksheets(1).Range("A1") = "PT. Agro Sukses Makmur" oXL.Worksheets(1).Range("A2") = "Hasil Panen Bulanan" oXL.Worksheets(1).Range("A3") = "Area" oXL.Worksheets(1).Range("A4") = "Bulan" oXL.Worksheets(1).Range("A5") = "Tahun" oXL.Worksheets(1).Range("A6") = "Item" oXL.Worksheets(1).Range("A8") = "Semangka" oXL.Worksheets(1).Range("A9") = "Nanas" oXL.Worksheets(1).Range("A10") = "Mangga" oXL.Worksheets(1).Range("B3") = Combo1.Text oXL.Worksheets(1).Range("B4") = Combo2.Text oXL.Worksheets(1).Range("B5") = Combo3.Text oXL.Worksheets(1).Range("B6") = "Jumlah" oXL.Worksheets(1).Range("B7") = "Kg" oXL.Worksheets(1).Range("B8") = KgSemangka oXL.Worksheets(1).Range("B9") = KgNanas oXL.Worksheets(1).Range("B10") = KgMangga 'tampilkan Excel oXL.Visible = True Exit Sub

Baris-baris program di atas berfungsi menuliskan data-data (baik itu konstanta, variabel, atau nilai property suatu object) ke dalam sel-sel Excel. Selanjutnya program akan menampilkan aplikasi Excel dengan buku kerja yang baru diisi datanya. Perhatikan bahwa baris-baris berikut ini sebetulnya sama diganti dengan baris-baris di bawahnya. 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. jika atas VB, dari

29

oXL.Worksheets(1).Range("B3") = Combo1.Text oXL.Worksheets(1).Range("B4") = Combo2.Text oXL.Worksheets(1).Range("B5") = Combo3.Text oXL.Worksheets(1).Range("B3") = Area oXL.Worksheets(1).Range("B4") = Bulan oXL.Worksheets(1).Range("B5") = Tahun

3.3

Menyimpan Buku Kerja Excel

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

30

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

31

oXLBook.Close 'keluar dari aplikasi Excel oXL.Quit End If Exit Sub SalahInput: MsgBox "Ada kesalahan input data!", vbOKOnly End Sub Private Sub Command2_Click() 'menutup buku kerja Excel On Error Resume Next oXLBook.Close 'keluar dari aplikasi Excel oXL.Quit End End Sub Private Sub Form_Load() 'mengosongkan form Text1.Text = "" Combo1.Text = "" Combo2.Text = "" Combo3.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub

3. Setelah selesai, simpan lagi project dengan nama yang sama (Ctrl+S) kemudian jalankan program.

Saat program sudah berjalan, isilah form dengan data-data seperti Gambar 3.2. Jika kemudian Anda klik tombol Simpan Ke Excel, maka akan muncul tampilan seperti berikut ini.

32

Gambar 3.4 Konfirmasi menampilkan Excel

Kemudian jika Anda klik OK, maka akan ditampilkan buku kerja Excel yang merupakan hasil penyimpanan program VB seperti Gambar 3.3. Akan tetapi, jika Anda perhatikan pada batang program Excel (kiri atas jendela Excel) akan terdapat nama file Excel, yaitu Tes 1 dan ini menunjukkan bahwa buku kerja tersebut sudah tersimpan dalam file Excel. Sekarang mari kita perhatikan beberapa perbedaan dan pengembangan pada program Lat6 dibanding program sebelumnya. Yang pertama adalah di bagian deklarasi variabel object, dibuat juga variabel object buku kerja seperti berikut ini.
'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. Seperti perintah berikut ini yang berfungsi untuk menyimpan buku kerja ke dalam suatu file Excel.
'menyimpan excel ke file NamaFile = "C:\LatVBExcel\" & Text1.Text oXLBook.SaveAs NamaFile

Selanjutnya untuk menambahkan buku kerja baru dan mengisi lembar kerja dengan data dapat dilakukan dengan penulisan kode program berikut ini.

33

'menambahkan buku kerja baru dalam variabel Set oXLBook = oXL.Workbooks.Add 'menuliskan variabel VB ke lembar oXLBook.Worksheets(1).Range("A1") oXLBook.Worksheets(1).Range("A2") oXLBook.Worksheets(1).Range("A3") . . . . . . kerja Excel = "PT. Agro Sukses Makmur" = "Hasil Panen Bulanan" = "Area"

Sedangkan untuk menutup buku kerja dan menutup aplikasi Excel dapat dilakukan dengan menuliskan kode program seperti berikut.
'menutup buku kerja Excel oXLBook.Close 'keluar dari aplikasi Excel oXL.Quit

3.4

Mengisi Rumus ke dalam Excel

Selain teks dan angka, Anda dapat juga menuliskan rumus ke dalam lembar kerja Excel. Rumus dapat dituliskan ke dalam suatu sel dalam bentuk string rumusnya, termasuk tanda = di awal teks rumus. Sebagai contoh, lakukanlah langkah-langkah berikut ini. 1. Buatlah project baru dan simpanlah form serta project-nya dengan nama Lat7. 2. Buatlah object-object ke dalam form seperti berikut ini.

Gambar 3.5 Contoh menyimpan rumus

34

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

'menuliskan variabel VB ke lembar oXLBook.Worksheets(1).Range("B1") oXLBook.Worksheets(1).Range("B2") oXLBook.Worksheets(1).Range("B3")

kerja Excel = mData1 = mData2 = mData3

'rumus diisi string rumus diawali tanda =

35

oXLBook.Worksheets(1).Range("B4") = mRumus Pilih = MsgBox("Tampilkan hasil di Excel?", vbOKCancel) If Pilih = vbOK Then 'tampilkan Excel oXL.Visible = True Else 'menutup buku kerja Excel oXLBook.Close 'keluar dari aplikasi Excel oXL.Quit End If Exit Sub SalahInput: MsgBox "Ada kesalahan input data!", vbOKOnly End Sub Private Sub Command2_Click() 'menutup buku kerja Excel On Error Resume Next oXLBook.Close 'keluar dari aplikasi Excel oXL.Quit End End Sub

Private Sub Form_Load() 'mengosongkan form Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub

4. Simpan kembali project dengan nama yang sama, kemudian jalankan project.

36

Contoh hasil pelaksanaan program adalah seperti Gambar 3.6.

Gambar 3.6 Contoh pelaksanaan menyimpan rumus

Jika kemudian Anda klik tombol Hitung dan Simpan Ke Excel, maka program menanyakan apakah buku kerja hasil Excel penyimpanan program akan ditampilkan. Jika kemudian Anda klik OK, maka akan ditampilkan Excel dengan hasil seperti berikut ini.

Gambar 3.7 Hasil menyimpan rumus dalam Excel

Perhatikan bahwa pada sel B4 yang tersimpan adalah rumus. Rumus tersebut adalah hasil penulisan variabel mRumus yang bertipe string dengan penulisan seperti berikut ini.
. . . . . . Dim mRumus As String . . . . . . mRumus = "=sum(b1:b3)" . . .

37

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

38

Anda mungkin juga menyukai