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