programming excel

March 8, 2017 | Author: Bagus Anggoro | Category: N/A
Share Embed Donate


Short Description

Download programming excel...

Description

training___________________________________________________________

Programming in Microsoft

Excel 2000

Penyusun : Achmad Affandi ( 0044-30-0902 )

Programming in Microsoft Excel 2000

Production Engineering Department PT. Semarang Autocomp

Manufacturing

Indonesia Semarang 2005 Daftar Isi Modul 1 : Formula dan Function............................................................................................3 Formula (rumus).........................................................................................................3

Penyusunan Formula di dalam Excel........................................................................3 Operator perhitungan............................................................................................4

Urutan proses perhitungan.....................................................................................4  Array Formula......................................................................................................5 Cell/Range References..................................................................................................6

Kenapa menggunakan pengalamatan yang tidak relative...........................................7 Notasi R1C1.........................................................................................................7 Pengalamatan Worksheet atau Workbook lain...........................................................8 Nama Sebagai Referensi........................................................................................8 Manfaat Lain dari Sistem Penamaan Cell/Range.................................................. Cell/Range.................................................. ......9 Formula Errors..........................................................................................................10 Function (fungsi).......................................................................................................12

Fungsi di dalam Fungsi........................................................................................12 Lebih lanjut dengan fungsi IF................................................................................13 Menggunakan fungsi COUNTIF dan SUMIF..............................................................16 Menggunakan Array Formula untuk COUNT dan SUM...............................................17 Beberapa Fungsi Matematika dalam Excel.....................................................................18 Beberapa Fungsi Statistik dalam Excel..........................................................................22 Beberapa Fungsi Tanggal dan Waktu dalam Excel...........................................................25 Beberapa Fungsi Logika dalam Excel............................................................................27 Beberapa Fungsi Teks dalam Excel...............................................................................28 Beberapa Fungsi LookUp dan Alamat dalam Excel..........................................................32 Beberapa Fungsi Information dalam Excel.....................................................................36 MegaFormula............................................................................................................41

Modul 2 : Pengenalan VBA..................................................................................................44

Sekilas Pemrograman VBA..........................................................................................44 Visual Basic Editor ...............................................................................................46 ...............................................................................................46

Membuat kode VBA.............................................................................................47 Memasukkan kode dengan cara biasa....................................................................48

Production Engineering Department

2

Programming in Microsoft Excel 2000

Production Engineering Department PT. Semarang Autocomp

Manufacturing

Indonesia Semarang 2005 Daftar Isi Modul 1 : Formula dan Function............................................................................................3 Formula (rumus).........................................................................................................3

Penyusunan Formula di dalam Excel........................................................................3 Operator perhitungan............................................................................................4

Urutan proses perhitungan.....................................................................................4  Array Formula......................................................................................................5 Cell/Range References..................................................................................................6

Kenapa menggunakan pengalamatan yang tidak relative...........................................7 Notasi R1C1.........................................................................................................7 Pengalamatan Worksheet atau Workbook lain...........................................................8 Nama Sebagai Referensi........................................................................................8 Manfaat Lain dari Sistem Penamaan Cell/Range.................................................. Cell/Range.................................................. ......9 Formula Errors..........................................................................................................10 Function (fungsi).......................................................................................................12

Fungsi di dalam Fungsi........................................................................................12 Lebih lanjut dengan fungsi IF................................................................................13 Menggunakan fungsi COUNTIF dan SUMIF..............................................................16 Menggunakan Array Formula untuk COUNT dan SUM...............................................17 Beberapa Fungsi Matematika dalam Excel.....................................................................18 Beberapa Fungsi Statistik dalam Excel..........................................................................22 Beberapa Fungsi Tanggal dan Waktu dalam Excel...........................................................25 Beberapa Fungsi Logika dalam Excel............................................................................27 Beberapa Fungsi Teks dalam Excel...............................................................................28 Beberapa Fungsi LookUp dan Alamat dalam Excel..........................................................32 Beberapa Fungsi Information dalam Excel.....................................................................36 MegaFormula............................................................................................................41

Modul 2 : Pengenalan VBA..................................................................................................44

Sekilas Pemrograman VBA..........................................................................................44 Visual Basic Editor ...............................................................................................46 ...............................................................................................46

Membuat kode VBA.............................................................................................47 Memasukkan kode dengan cara biasa....................................................................48

Production Engineering Department

2

Programming in Microsoft Excel 2000 Memasukkan kode dengan Macro Recorder .............................................................49 .............................................................49 Relative atau  Absolute.........................................................................................51

Membersihkan hasil perekaman macro...................................................................53 Objek dan Koleksi...............................................................................................54 Mengetahui Objek yang Aktif................................................................................55 Bekerja dengan objek Range.................................................................................56 Properti Range.............................................................................................57 Properti Cells.............................................................................................57 Properti Offset...........................................................................................58 Pemrograman Dasar VBA............................................................................................59 Bahasa VBA : Sekilas Pandang..............................................................................59 Komentar...........................................................................................................60 Variabel, Jenis Data, dan Konstanta.......................................................................61 Menentukan Jenis Data.................................................................................62 Mendeklarasikan Variabel..............................................................................63 Menentukan Jenis Data.................................................................................63 Memaksa Pendeklarasian Semua Variabel........................................................64 Lingkup Suatu Variabel........................................................................................64 Konstanta..........................................................................................................66 Jenis Data String................................................................................................66 Jenis Data Date..................................................................................................66 Operator Perhitungan, Logika, dan Perbandingan....................................................67  Array ..................................................................................................................67 ................................................................................................................67

Variabel Objek....................................................................................................69 Built-In Function.................................................................................................69

Struktur Dasar Pemrograman......................................................................................71 With-End With...................................................................................................71 For-Next ...........................................................................................................71 Do-While ...........................................................................................................74 Do-Until ...........................................................................................................74 If-Then .............................................................................................................76 Select-Case ......................................................................................................77

Bekerja Dengan Prosedur............................................................................................78 Mendeklarasikan Prosedur....................................................................................78 Menjalankan Prosedur.........................................................................................79 Bekerja Dengan Fungsi...............................................................................................84 Mendeklarasikan Fungsi.......................................................................................85 Menjalankan Fungsi.............................................................................................86 Argumen/Parameter...................................................................................................87 By Value atau By Reference..................................................................................88

Contoh Prosedur dan Fungsi........................................................................................88 Teknik Penanganan Kesalahan.....................................................................................91  ‘Menangkap’ Error ...............................................................................................91 ...............................................................................................91 On Error Resume Next ................................................................................91 On Error Goto error_label ........................................................................92

Manfaat ‘Menangkap’ Kesalahan.....................................................................93

Production Engineering Department

3

Programming in Microsoft Excel 2000 Debugging.........................................................................................................93

4

Production Engineering Department

Programming in Microsoft Excel 2000

Modul 1 :

Formula

dan

Function

Formula (rumus) Sebagian pengguna Excel menganggap bahwa Formula dan Function adalah sama atau sejenis. Padahal formula (rumus) adalah satu atau beberapa rumus yang dibuat oleh pengguna, sedangkan function (fungsi) adalah suatu rumus tunggal yang sudah dibuat oleh Excel dan memiliki fungsi dan maksud tertentu. Suatu formula yang kita buat dapat terdiri dari beberapa fungsi, tetapi sangat tidak mungkin di dalam fungsi yang sudah ada kita sisipkan formula yang kita buat (karena kita tidak bisa membuka isi dari fungsi tersebut.) Sebuah formula dapat berupa perhitungan matematik, membandingkan nilai antar worksheet, atau menggabungkan teks. Formula juga dapat berisi referensi ke cell lain yang : berada dalam worksheet yang sama; berada dalam worksheet yang berbeda tetapi masih dalam satu workbook; atau dalam workbook yang berbeda. Contoh berikut ini akan menambahkan nilai 25 dan nilai cell B4 kemudian membagi hasilnya dengan jumlah (Sum) nilai D5, E5, dan F5. Alamat cell Nilai konstan Fungsi (function)

=(B4+25)/SUM(D5:F5) Alamat range operator bagi operator tambah

CATATAN … Formula yang kita buat akan segera dihitung oleh Excel setelah kita selesai memasukkannya. Ini akan terjadi jika Calculation Mode (lihat Tools

Options) di set  Automatic. Jika formula tersebut berhubungan dengan formula cell lain, maka formula lain

tersebut dihitung terlebih dahulu oleh Excel. Terkadang kita memiliki worksheet dengan ratusan atau ribuan formula yang kompleks dimana proses perhitungan akan memakan waktu yang lama. Jika ini terjadi, kita sebaiknya men set  Calculation Mode menjadi Manual. Ketika dalam mode ini, Excel akan menampilkan teks Calculate di status bar , jika dalam worksheet kita terdapat formula yang belum diproses oleh Excel. Kita dapat memerintah Excel untuk melakukan proses perhitungan dengan menekan : F9, untuk menghitung formula di seluruh workbook yang terbuka. Shift-F9, untuk menghitung formula di worksheet yang aktif saja. Ctrl-Shift-F9, untuk memaksa Excel memproses semua perhitungan yang ada. Cara ini tidak disarankan, gunakan

hanya jika Excel tidak melakukan proses perhitungan secara benar. Ketika kita mengubah Calculation Mode, seluruh workbook yang dibuka akan terpengaruh.

Penyusunan Formula di dalam Excel Formula di dalam Excel selalu dimulai dengan tanda = (sama dengan). Tanda = ini akan memberi tahu bahwa karakter-karakter berikutnya adalah suatu rumus di mana terdiri dari operand  (elemen yang akan dihitung) yang dipisahkan oleh operator  (jenis perhitungan). Excel

akan melakukan perhitungan mulai dari kiri ke kanan, berdasarkan tingkatan masing-masing operator di dalam rumus. Kita bisa mengubah urutan perhitungan dengan menggunakan tanda

Production Engineering Department

5

Programming in Microsoft Excel 2000 kurung. Pada contoh sebelumnya, tanda kurung akan memaksa Excel untuk menghitung B4+25 terlebih dahulu lalu kemudian membaginya dengan hasil penjumlahan nilai D5, E5, dan F5.

Operator perhitungan Operator akan menandakan jenis perhitungan apa yang akan dilakukan terhadap operand. Excel memiliki jenis 4 operator, yaitu :  Arithmetic  (operator untuk perhitungan biasa); Comparison (operator untuk perbandingan); Text concatenation (operator untuk menggabungkan dua buah teks); dan Reference (operator untuk mengkombinasikan alamat cell/range). Arithmetic

operators

digunakan

untuk

melakukan

perhitungan

matematik

seperti

penjumlahan, pengurangan, perkalian, atau untuk menghasilkan hasil berupa nilai. Operator

Maksud

Contoh

+

Penjumlahan

3+3



Pengurangan Tanda Negatif 

3–1 –1

*

Perkalian

3*3

/

Pembagian

3/3

%

Persentase

20%

^

Pangkat

3^2 (sama dengan 3*3)

Comparison operators digunakan untuk memperbandingkan dua buah nilai yang hasil

perbandingannya akan berupa nilai TRUE (Benar) atau FALSE (Salah). Operator

Maksud

6

Contoh

=

sama dengan

A1=B1

>

lebih besar dari

A1>B1

<

lebih kecil dari

A1=

lebih besar atau sama dengan dari

A1>=B1

50,SUM(G2:G5),0)

Sebuah nested function harus menghasilkan jenis nilai yang sama dengan yang dibutuhkan oleh argumen tersebut. Misalnya, suatu argumen membutuhkan nilai logika (TRUE atau FALSE), maka nested function tersebut harus menghasilkan nilai logika. Jika tidak, maka Excel akan

menghasilkan kesalahan #VALUE! error.

CATATAN … Sebuah formula dapat terdiri hingga tujuh tingkat nested function. Contohnya bisa dilihat di atas, fungsi AVERAGE dan SUM keduanya adalah fungsi level kedua karena mereka merupakan argumen bagi fungsi IF. Jika terdapat fungsi lain di dalam fungsi AVERAGE, maka fungsi tersebut merupakan fungsi level ketiga.

Kita juga bisa menggunakan Formula Palette (fasilitas yang disediakan Excel untuk menyunting formula. Fasilitas ini berada di bawah formula bar ketika kita klik tombol Edit Formula

klik tombol Paste Function

atau

) dalam membuat nested function ini. Sebagai contoh bisa

dilihat pada gambar 1.4 di bawah dalam penyusunan formula sebelumnya untuk fungsi SUM.

Production Engineering Department

Programming in Microsoft Excel 2000

Gambar 1.4 Contoh penggunaan Formula Palette

Untuk berpindah antar fungsi di dalam Formula Palette, klik nama fungsi dalam formula bar . Sebagai contoh, untuk mengubah range argumen fungsi AVERAGE di gambar 1.4, klik AVERAGE di formula bar.

Lebih lanjut dengan fungsi IF Seperti kita ketahui bahwa fungsi IF digunakan untuk menseleksi kondisi dan menghasilkan nilai tertentu berdasarkan nilai TRUE (benar) atau FALSE (salah). Syntax  (bentuk umum) dari fungsi IF adalah sebagai berikut : =IF(kondisi ,nilai_jika_benar ,nilai_jika_salah)

Kondisi  adalah satu atau lebih persamaan yang menghasilkan nilai TRUE atau FALSE.

Contohnya, A10 = 100 adalah kondisi; jika cell A10 berisi nilai 100 maka kondisi akan menghasilkan nilai TRUE; sebaliknya menghasilkan nilai FALSE. Kondisi disini bisa menggunakan operator perbandingan (comparison operators) yang sudah dibicarakan pada bagian “Operator Perhitungan” sebelumnya. Nilai_jika_benar  adalah nilai yang akan dihasilkan jika kondisinya menghasilkan nilai TRUE.

Contohnya, jika parameter/argumen ini diisi dengan teks “Within Budget” dan kondisi menghasilkan nilai TRUE, maka fungsi IF ini akan menghasilkan teks “Within Budget”. Nilai_jika_benar juga bisa diisi dengan fungsi lain.

Nilai_jika_salah adalah nilai yang akan dihasilkan jika kondisinya menghasilkan nilai FALSE.

Contohnya, jika parameter/argumen ini diisi dengan teks “Over Budget” dan kondisi menghasilkan nilai FALSE, maka fungsi IF ini akan menghasilkan teks “Over Budget”. Nilai_jika_salah juga bisa diisi dengan fungsi lain.

Production Engineering Department

15

Programming in Microsoft Excel 2000

CATATAN … Sebenarnya Excel menyediakan fungsi tambahan yang bisa digunakan untuk menghitung data berdasarkan kondisi tertentu. Misalnya, untuk menghitung total nilai berdasarkan teks tertentu, kita bisa menggunakan fungsi SUMIF. Fungsi SUMIF (dan juga COUNTIF) ini akan dibahas pada bagian selanjutnya. Kita dapat menyusun fungsi IF lagi di dalam nilai_jika_benar atau nilai_jika_salah (nested function) hingga 7 level.

LATIHAN Jika cell A10 berisi dosis obat dalam cc, buatlah fungsi IF di cell lain untuk menseleksi apakah dosis tersebut “Dosis Normal” (dosis 1000 cc) ! Buatlah fungsi IF untuk menseleksi nilai cell A1. Jika A1 berisi 100, maka tampilkan total nilai yang ada di B5:B10, sebaliknya jangan tampilkan apa-apa ! Misalkan kita mempunyai beberapa orang sales untuk menjual produk kita yang seminggu sekali melaporkan hasil penjualannya. Kita sebagai pemilik perusahaan telah menentukan pembagian bonus terhadap hasil penjualan mereka per minggu. Jika lebih besar dari $ 1,000, maka bonusnya adalah 10 % dari penjualan tersebut, sebaliknya bonusnya adalah 7.5 % dari penjualan tersebut. Untuk menghitung secara otomatis, kita harus membuat tabel hasil penjualan satu bulan untuk (andaikan saja) 3 orang sales dengan kolom-kolom : Name Sales, Penjualan, dan Bonus yang diterima (dalam $). Buatlah tabel tersebut dengan fungsi IF-nya ! Buatlah fungsi IF untuk menyatakan nilai huruf berdasarkan nilai bilangan tertentu dengan ketentuan sebagai berikut : Jika Nilai

Tampilkan Huruf  

> 89 A 80 – 89 B 70 – 79 C 60 – 69 D < 60 E Kita bisa menggunakan nested function IF untuk menyelesaikan masalah ini. Pada fungsi IF sebelumnya kita hanya menggunakan kondisi tunggal sebagai seleksinya, misalkan A10=100. Padahal sering kali dalam kehidupan nyata, kita dihadapkan pada lebih dari satu kondisi, misalkan : “Saya boleh masuk bioskop jika umur saya lebih dari 17 tahun dan mempunyai karcis” atau “saya mau minum jika ada air jeruk atau ada air teh”. Bisa dilihat pada paragraf sebelumnya, kalimat “jika ada air jeruk atau ada air teh” terdiri dari dua kondisi yaitu “ada air jeruk” dan “ada air teh” dengan penghubung kondisi “atau”. Pada dasarnya untuk menghubungkan dua buah kondisi digunakan operator  AND (Dan) dan OR  (Atau) dengansatu tambahan operator NOT (Bukan). Berikut adalah tabel logika operator tersebut yang dikenal dengan nama logika boolean. Kondisi A

Kondisi B

A AND B

A OR B

NOT A

FALSE FALSE TRUE TRUE

FALSE TRUE FALSE TRUE

FALSE FALSE FALSE TRUE

FALSE TRUE TRUE TRUE

TRUE TRUE FALSE FALSE

Operator AND hanya akan menghasilkan nilai TRUE jika keseluruh logika adalah TRUE, sedangkan operator OR  hanya akan menghasilkan nilai FALSE jika keseluruh logika adalah FALSE. Operator NOT digunakan untuk membalik kondisi.

Production Engineering Department

16

Programming in Microsoft Excel 2000

Excel sudah menyediakan fungsi tersendiri sebagai pengganti operator logika Boolean ini, yaitu : Fungsi AND(kondisi1, kondisi2, …) yang bisa berisi hingga 30 kondisi. Parameter yang diberikan harus menghasilkan nilai TRUE atau FALSE atau bisa juga berupa array atau alamat range yang berisi nilai TRUE atau FALSE. Fungsi OR(kondisi1, kondisi2, …) yang bisa berisi hingga 30 kondisi. Parameter yang diberikan harus menghasilkan nilai TRUE atau FALSE atau bisa juga berupa array atau alamat range yang berisi nilai TRUE atau FALSE. Fungsi NOT(kondisi). Parameter yang diberikan harus menghasilkan TRUE atau FALSE. Untuk lebih jelasnya, perhatikan contoh berikut : AND(TRUE,TRUE) menghasilkan TRUE AND(2+2=4,2+3=6) menghasilkan FALSE

Jika A1:A3 berisi nilai TRUE,FALSE, dan TRUE, maka OR(A1:A3) menghasilkan TRUE NOT(1+1=2) menghasilkan FALSE

Excel sebenarnya juga menyediakan operator logika Boolean (walaupun tidak terdokumentasi di dalam Excel Reference Guide) seperti berikut : + menandakan operator OR. Kita bisa memisahkan kondisi dengan tanda + ini. * menandakan operator AND. Kita bisa memisahkan kondisi dengan tanda * ini.

Untuk lebih jelasnya, bandingkanlah kedua contoh yang memiliki tujuan yang sama, berikut ini : =IF(AND(A1=300)*(C2:C10 0, bilangan akan dibulatkan pada bagian desimalnya. Jika  posisi_digit = 0, bilangan akan dibulatkan pada bilangan bulat terdekat. Jika  posisi_digit < 0, bilangan akan dibulatkan pada bagian kiri titik desimal. Contoh

:

=ROUND(2.15,1) menghasilkan 2.2 =ROUND(2.149,1) menghasilkan 2.1 =ROUND(-1.475,2) menghasilkan –1.48 =ROUND(21.5,-1) menghasilkan 20 =ROUND(-5.93,0) menghasilkan –6 =ROUND(1575,-2) menghasilkan 1600

ROUNDDOWN Penjelasan : Membulatkan suatu bilangan ke bawah pada posisi digit yang kita tentukan. Syntax 

: ROUNDDOWN(bilangan,posisi_digit)

Jika  posisi_digit > 0, bilangan akan dibulatkan pada bagian desimalnya. Jika  posisi_digit = 0, bilangan akan dibulatkan pada bilangan bulat terdekat. Jika  posisi_digit < 0, bilangan akan dibulatkan pada bagian kiri titik desimal. Contoh

:

=ROUNDDOWN(2.15,1) menghasilkan 2.1 =ROUNDDOWN(2.149,1) menghasilkan 2.1

Production Engineering Department

21

Programming in Microsoft Excel 2000 =ROUNDDOWN(-1.475,2) menghasilkan –1.47 =ROUNDDOWN(21.5,-1) menghasilkan 20 =ROUNDDOWN(-5.93,0) menghasilkan –5 =ROUNDDOWN(1575,-2) menghasilkan 1500

ROUNDUP Penjelasan : Membulatkan suatu bilangan ke atas pada posisi digit yang kita tentukan. Syntax 

: ROUNDUP(bilangan,posisi_digit)

Jika  posisi_digit > 0, bilangan akan dibulatkan pada bagian desimalnya. Jika  posisi_digit = 0, bilangan akan dibulatkan pada bilangan bulat terdekat. Jika  posisi_digit < 0, bilangan akan dibulatkan pada bagian kiri titik desimal. Contoh

:

=ROUNDUP(2.15,1) menghasilkan 2.2 =ROUNDUP(2.149,1) menghasilkan 2.2 =ROUNDUP(-1.475,2) menghasilkan –1.48 =ROUNDUP(21.5,-1) menghasilkan 30 =ROUNDUP(-5.93,0) menghasilkan –6 =ROUNDUP(1575,-2) menghasilkan 1600

SQRT Penjelasan : Mendapatkan akar pangkat dari nilai tertentu. Syntax 

: SQRT(bilangan)

Contoh

:

=SQRT(16) menghasilkan 4 =SQRT(-16) menghasilkan #NUM! =SQRT(ABS(-16)) menghasilkan 4

SUBTOTAL Penjelasan : Menghitung nilai subtotal. Sebenarnya untuk menghitung SUBTOTAL, lebih mudah

melalui menu Data

Subtotals… . Perbedaan fungsi SUBTOTAL dari fungsi yang

lain (seperti SUM) adalah fungsi ini tidak akan menghitung cell yang berisi fungsi SUBTOTAL lain, sehingga tidak akan terjadi perhitungan dua kali. Syntax 

: SUBTOTAL(no_fungsi,ref1,ref2,…)

ref1, ref2, adalah alamat range (bisa sampai 29 range) di mana SUBTOTAL akan dihitung. no_fungsi adalah bilangan antara 1 sampai 11 yang masing-masing memiliki jenis perhitungan

sebagai berikut :

Contoh

:

no_fungsi

jenis perhitungan

1 2 3 4 5 6 7 8 9 10 11

AVERAGE COUNT COUNTA MAX MIN PRODUCT STDDEV STDDEVP SUM VAR VARP

=SUBTOTAL(9,C3:C5) menghasilkan nilai subtotal yang ada di range C3:C5

Production Engineering Department

22

Programming in Microsoft Excel 2000 dengan menggunakan jenis perhitungan SUM SUM Penjelasan : Menjumlahkan seluruh bilangan yang ada di parameter/argumen. Syntax 

: SUM(bilangan1, bilangan2,…)

Contoh

:

=SUM(3,2) menghasilkan 5 =SUM(“3”,2,TRUE) menghasilkan 6, karena teks akan diterjemahkan terlebih

dahulu menjadi bilangan dan TRUE diterjemahkan menjadi angka 1 Jika A1:B1 berisi “3”, TRUE, maka =SUM(A1,B1,2) menghasilkan 2, karena nilai yang terdapat di dalam cell t idak akan diterjemahkan menjadi bilangan Jika cell A2:E2 berisi 5, 15, 30, 40, dan 50, maka : =SUM(A2:C2) menghasilkan 50 =SUM(B2:E2, 15) menghasilkan 150

SUMIF

Baca bagian “Menggunakan fungsi COUNTIF dan SUMIF” untuk keterangan lebih lanjut. TRUNC Penjelasan : Menghilangkan bagian desimal suatu bilangan. TRUNC dan INT kurang lebih sama,

 jika TRUNC menghilangkan bagian desimal bilangan, maka INT membulatkan beilangan ke bawah. TRUNC dan INT berbeda ketika menggunakan bilangan negatif:

=TRUNC(-4.3)

akan menghasilkan –4,

tetapi =INT(-4.3)

akan

menghasilkan bilangan –5. Syntax 

: TRUNC(bilangan,jumlah_desimal)

Contoh

:

=TRUNC(8.963824) menghasilkan 8 =TRUNC(8.963824,3) menghasilkan 8.963 =TRUNC(-8.9,2) menghasilkan –8.9

Beberapa Fungsi Statistik dalam Excel Berikut adalah fungsi statistik dalam Excel yang sering digunakan dalam pekerjaan : AVERAGE Penjelasan : Mendapatkan nilai rata-rata untuk seluruh nilai yang diberikan. Syntax 

: AVERAGE(bilangan1, bilangan2,…)

Contoh

:

Jika range A1:A5 diberi nama Nilai dan berisi nilai 10, 7, 9, 27, dan 2, maka : =AVERAGE(A1:A5) menghasilkan 11 =AVERAGE(Nilai) menghasilkan 11 =AVERAGE(A1:A5, 5) menghasilkan 10

=AVERAGE(A1:A5) sebenarnya sama dengan formula =SUM(A1:A5)/COUNT(A1:A5)

COUNT Penjelasan : Menghitung jumlah cell atau parameter/argumen yang berisi bilangan. Parameter/

argumen yang berupa bilangan, tanggal, maupun teks yang merupakan bilangan akan dihitung; selain itu tidak akan dihitung.

Production Engineering Department

23

Programming in Microsoft Excel 2000 Syntax 

: COUNT(nilai1, nilai2,…)

Contoh

:

Jika A1:A7 berisi “Sales”, 12/8/90, , 19, 22.24, TRUE, dan #DIV/0! maka : =COUNT(A1:A7) menghasilkan 3 =COUNT(A4:A7) menghasilkan 2 =COUNT(A1:A7, 2) menghasilkan 4

COUNTA Penjelasan : Menghitung jumlah cell atau parameter/argumen yang tidak kosong. Syntax 

: COUNTA(nilai1, nilai2,…)

Contoh

:

Jika A1:A7 berisi “Sales”, 12/8/90, , 19, 22.24, TRUE, dan #DIV/0! maka : =COUNTA(A1:A7) menghasilkan 6 =COUNTA(A4:A7) menghasilkan 4 =COUNTA(A1:A7,“Data”) menghasilkan 7

COUNTBLANK Penjelasan : Menghitung jumlah cell atau parameter/argumen yang kosong. Syntax 

: COUNTBLANK(range)

Contoh

:

Jika A1:A7 berisi “Sales”, 12/8/90, , 19, 22.24, TRUE, dan #DIV/0! maka : =COUNTA(A1:A7) menghasilkan 1

COUNTIF

Baca bagian “Menggunakan fungsi COUNTIF dan SUMIF” untuk keterangan lebih lanjut. FORECAST Penjelasan : Menghitung, atau memperkirakan, nilai yang belum diketahui berdasarkan nilai-

nilai yang sudah diketahui. Nilai yang sudah diketahui terdiri dari nilai-x  dan nilai-y  (sama seperti chart ) sedangkan fungsi akan menghasilkan nilai-y  yang

belum diketahui untuk nilai-x yang dimasukkan. Syntax 

: FORECAST(x_dicari, y_diketahui, x_diketahui)

Contoh

:

Misalnya kita sebagai orang yang bertanggung jawab dalam menyusun jadwal produksi suatu perusahaan tempe MENDOWANTM. Perusahaan kita memiliki mesin tempe otomatis SETENGAHMATENG®

sebanyak 5 buah. Kita

kemudian mengumpulkan data jumlah tempe yang dihasilkan per jam (dalam ribuan) untuk jumlah mesin yang berbeda sebagai berikut : A 1 2 3 4 5 6 7

B

Jumlah Mesin

C

Jumlah Tempe per Hari (x 1000)

1 2 3 4 5

15 27 41 60 95

Karena negara sedang mengadakan TEMPEISASI, maka perusahaan menerima pesanan sebanyak 200 ribu tempe / hari. Untuk memenuhi pesanan tersebut, perusahaan akan menambahkan jumlah mesin yang ada menjadi 10 buah. Tetapi kita tidak yakin apa 10 mesin dapat menghasilkan 200 ribu tempe, karena itu kita dapat mencoba untuk memperkirakannya dengan memasukkan formula di dalam Excel pada cell C4 sebagai berikut :

Production Engineering Department

24

Programming in Microsoft Excel 2000 =FORECAST(10,B2:B6,A2:A6)

Apakah hasilnya benar ? Berapakah jumlah mesin minimal untuk menghasilkan minimal 200 ribu tempe / hari ? FREQUENCY Penjelasan : Menghitung kemunculan data dengan batasan tertentu pada daftar data yang kita

berikan dan mengembalikan kumpulan nilai berupa array vertikal. Karena fungsi FREQUENCY ini menghasilkan nilai berupa array, maka dalam memasukkan formula ini harus menekan Ctrl+Shift+Enter. Syntax 

: FREQUENCY(array_sumber_data,array_batasan_data)

Contoh

:

Misalnya kita sebagai dosen mempunyai data nilai mahasiswa yang kita masukkan di range A1:A10 ( array_sumber_data) sebagai berikut 79, 54, 87, 49, 66, 91, 72, 83, 95, dan 65. Kemudian kita ingin mengelompokan nilai-nilai tersebut berdasarkan batasan 0-65, 66-75, 76-85, dan 86-100. Maka kita masukkan di range B1:B3 ( array_batasan_data) sebagai berikut 65, 75, dan 85 (yang terakhir tidak perlu dimasukkan). Lalu kita harus membuat array formula di range C1:C4 dan memasukkan formula =FREQUENCY(A1:A10,B1:B3) .

Hasilnya kurang lebih akan seperti berikut ini : A 1 2 3 4 5 6 7 8 9 10 11

79 54 87 49 66 91 72 83 95 65

B

C

65 75 85

3 2 2 3

25

Walaupun penggunaan fungsi FREQUENCY ini lumayan sulit, fungsinya akan sangat terasa membantu sekali saat kita berhubungan dengan banyak data. GROWTH Penjelasan : Fungsi ini sangat menarik untuk digunakan. Ia dapat menghitung “nilai

pertumbuhan” dengan menggunakan data yang sudah diketahui. Fungsi ini akan menghasilkan deretan nilai-y untuk deretan nilai-x yang kita masukkan dengan bantuan nilai-x dan nilai-y yang sudah diketahui. Karena fungsi GROWTH ini menghasilkan nilai berupa array, maka dalam memasukkan formula ini harus menekan Ctrl+Shift+Enter. Syntax 

: GROWTH(y_diketahui, x_diketahui, x_dicari)

Contoh

:

Kita bicara mengenai perusahaan tempe MENDOWANTM

kembali. Setelah

sukses dalam tahun-tahun terakhir, terkadang perusahaan masih tetap kewalahan dalam menangani pesanan yang terus meningkat per bulannya. Untuk itulah, kita—yang sekarang sudah diangkat menjadi Marketing Director—dituntut untuk bisa membaca peluang pasar. Kita kemudian menyusun data penjualan tempe 6 bulan ke belakang (bulan 11 – 16) sebagai

Production Engineering Department

Programming in Microsoft Excel 2000 berikut : 1 2 3 4 5 6 7 8 9

A

B

Bulan

Jumlah Tempe Terjual (x 1000)

C

11 331 12 473 13 690 14 1020 15 1500 16 2200 17 18 Lalu untuk mengetahui peluang pasar 2 bulan berikutnya (bulan 17 – 18), kita bisa memasukkan array formula di B8:B9 seperti berikut : =GROWTH(B2:B7,A2:A7,A8:A9)

Dan kita mendapatkan bahwa peluang penjualan di bulan ke-17 adalah 3201.967 (ribu) tempe dan di bulan ke-18 adalah 4685.361 (ribu) tempe .

MAX Penjelasan : Mencari bilangan terbesar di dalam sekumpulan data yang diberikan. Syntax 

: MAX(bilangan1,bilangan2,…)

Contoh

:

Jika A1:A5 berisi 10, 7, 9, 27, dan 2 maka : =MAX(A1:A5) menghasilkan 27 =MAX(A1:A5, 30) menghasilkan 30

MEDIAN Penjelasan : Mencari median (bilangan tengah) di dalam sekumpulan data yang diberikan. Syntax 

: MEDIAN(bilangan1,bilangan2,…)

Contoh

:

=MEDIAN(2,4,1,3,5) menghasilkan 3 =MEDIAN(2,4,1,3,5,6) menghasilkan 3.5 → rata-rata dari 3 dan 4

MIN Penjelasan : Mencari bilangan terkecil di dalam sekumpulan data yang diberikan. Syntax 

: MIN(bilangan1,bilangan2,…)

Contoh

:

Jika A1:A5 berisi 10, 7, 9, 27, dan 2 maka : =MIN(A1:A5) menghasilkan 2

MODE Penjelasan : Mencari modus (bilangan yang paling sering muncul) di dalam sekumpulan data

yang diberikan. Syntax 

: MODE(bilangan1,bilangan2,…)

Contoh

:

=MODE({5.6,4,4,3,2,4}) menghasilkan 4

PERMUT Penjelasan : Menghitung banyaknya  permutasi (banyaknya kombinasi bilangan). Syntax 

: PERMUT(jumlah_bilangan,jumlah_dipilih)

Contoh

:

Dengan rumus ini kita bisa mengetahui banyaknya kendaraan bermotor yang memiliki nomor polisi B xxxx QQ. Kita mengetahui bahwa nomor normal kendaraan bermotor adalah 4 angka dengan kombinasi angka 0 sampai 9 (sebanyak 10 angka). Maka kita bisa me masukkan formula =PERMUT(10,4) dan hasilnya adalah 5040 kendaraan motor .

Production Engineering Department

26

Programming in Microsoft Excel 2000 QUARTILE Penjelasan : Mencari kuartir  (nilai paruh) tertentu dari sekumpulan data yang diberikan.

Kuartir diperlukan misalnya untuk menentukan 25 % pemasukkan tertinggi. Syntax 

: QUARTILE(data,no_kuartir) no_kuartir

0 1 2 3 4 Contoh

:

Nilai yang dihasilkan

nilai paling kecil (sama dengan fungsi MIN) kuartir pertama - 25 % kuartir kedua - 50 % (sama dengan fungsi MEDIAN) kuartir ketiga - 75 % nilai paling besar (sama dengan fungsi MAX) =QUARTILE({1,2,4,7,8,9,10,12}, 1) menghasilkan 3.5

Beberapa Fungsi Tanggal dan Waktu dalam Excel Berikut adalah fungsi tanggal dan waktu dalam Excel yang sering digunakan dalam pekerjaan : DATE Penjelasan : Menghasilkan tanggal berdasarkan data yang kita berikan. Syntax 

: DATE(tahun,bulan,angka_hari)

Contoh

:

=DATE(2001,10,1) menghasilkan “10/1/2001” 

DAY Penjelasan : Mendapatkan angka hari dari tanggal yang diberikan. Nilai yang dihasilkan akan

berkisar antara 1 sampai 31. Syntax 

: DAY(tanggal)

Contoh

:

=DAY(“4-Jan”) menghasilkan 4 =DAY(“8/11/1998”) menghasilkan 11

HOUR  Penjelasan : Mendapatkan jam dari waktu yang diberikan. Nilai yang dikembalikan berkisar

antara 0 (12:00 AM) sampai 23 (11:00 PM). Syntax 

: HOUR(waktu) waktu disini bisa berisi teks yang menyatakan waktu; bilangan desimal

(misalnya, 12 PM dinyatakan sebagai 0.5, karena dianggap setengah hari); atau hasil dari fungsi lain. Contoh

:

=HOUR(0.7) menghasilkan 16 =HOUR(“3:30:30 PM”) menghasilkan 15

MINUTE Penjelasan : Mendapatkan menit dari waktu yang diberikan. Nilai yang dikembalikan berkisar

antara 0 sampai 59. Syntax 

: MINUTE(waktu)

Contoh

:

=MINUTE(“4:48:00 PM”) menghasilkan 48 =MINUTE(0.01) menghasilkan 14

MONTH Penjelasan : Mendapatkan angka bulan dari tanggal yang diberikan. Nilai yang dihasilkan akan

Production Engineering Department

27

Programming in Microsoft Excel 2000 berkisar antara 1 (January) sampai 12 (December). Syntax 

: MONTH(tanggal)

Contoh

:

=MONTH(“6-May”) menghasilkan 5 =MONTH(“2004/04/01”) menghasilkan 4

NOW Penjelasan : Menghasilkan tanggal dan waktu sekarang. Syntax 

: NOW()

SECOND Penjelasan : Mendapatkan detik dari waktu yang diberikan. Nilai yang dikembalikan berkisar

antara 0 sampai 59. Syntax 

: SECOND(waktu)

Contoh

:

=SECOND(“4:48:18 PM”) menghasilkan 18 =SECOND(0.01) menghasilkan 24

TIME Penjelasan : Menghasilkan waktu berdasarkan data yang kita berikan. Syntax 

: DATE(jam,menit,detik)

Contoh

:

=TIME(16,48,10) menghasilkan “4:48:10 PM” 

TODAY Penjelasan : Menghasilkan tanggal sekarang. Syntax 

: TODAY()

WEEKDAY Penjelasan : Menghasilkan urutan hari dalam satu minggu dari tanggal yang kita berikan. Syntax 

: WEEKDAY(tanggal,jenis)  jenis

Nilai yang dihasilkan

1 (default ) 2 3

Contoh

:

angka 1 (Minggu) sampai 7 (Sabtu) angka 1 (Senin) sampai 7 (Minggu) angka 0 (Senin) sampai 6 (Minggu) =WEEKDAY(“2/14/1998”) menghasilkan 7 (Sabtu)

YEAR  Penjelasan : Mendapatkan angka tahun dari tanggal yang diberikan. Nilai yang dihasilkan akan

berkisar antara 1900 sampai 9999. Syntax 

: YEAR(tanggal)

Contoh

:

=YEAR(“7/5/1998”) menghasilkan 1998

Beberapa Fungsi Logika dalam Excel Berikut adalah fungsi logika dalam Excel yang sering digunakan dalam pekerjaan : AND Penjelasan : Menghasilkan TRUE jika semua parameter/argumen bernilai TRUE. Untuk lebih

 jelasnya lihat bagian “Lebih lanjut dengan fungsi IF”.

Production Engineering Department

28

Programming in Microsoft Excel 2000 Syntax 

: AND(kondisi1,kondisi2,…)

Contoh

:

lihat bagian “Lebih lanjut dengan fungsi IF” 

FALSE Penjelasan : Menghasilkan nilai logika FALSE. Syntax 

: FALSE()

IF Penjelasan

: Menghasilkan suatu nilai jika kondisinya TRUE dan nilai lainnya jika kondisinya FALSE. Untuk lebih jelasnya lihat bagian “Lebih lanjut dengan fungsi IF”.

Syntax 

: =IF(kondisi,nilai_jika_benar,nilai_jika_salah)

Contoh

:

lihat bagian “Lebih lanjut dengan fungsi IF” 

NOT Penjelasan : Membalik logika. Untuk lebih jelasnya lihat bagian “Lebih lanjut dengan fungsi IF”. Syntax 

: NOT(kondisi)

Contoh

:

lihat bagian “Lebih lanjut dengan fungsi IF” 

OR  Penjelasan : Menghasilkan FALSE jika semua parameter/argumen bernilai FALSE. Untuk lebih

 jelasnya lihat bagian “Lebih lanjut dengan fungsi IF”. Syntax 

: OR(kondisi1,kondisi2,…)

Contoh

:

lihat bagian “Lebih lanjut dengan fungsi IF” 

29 TRUE Penjelasan : Menghasilkan nilai logika TRUE. Syntax 

: TRUE()

Beberapa Fungsi Teks dalam Excel Berikut adalah fungsi teks dalam Excel yang sering digunakan dalam pekerjaan : CONCATENATE Penjelasan : Menggabungkan beberapa teks menjadi satu. Sebenarnya fungsi ini bisa

digantikan oleh operator “&”. Syntax 

: CONCATENATE(teks1,teks2,…)

Contoh

:

Jika range A11:C11 berisi “spesies”, “ikan bandeng”, dan 32, maka : =CONCATENATE(“Populasi untuk ”,A11,“ ”,B11,“ adalah ”,C11,“/mil”)

akan menghasilkan “Populasi untuk spesies ikan bandeng adalah 32/mil. DOLLAR  Penjelasan : Mengubah bilangan menjadi teks dengan menggunakan format currency , dengan

pembulatan bilangan desimal sebanyak yang kita tentukan. Format yang digunakan sebenarnya adalah $#,##0.00_);($#,##0.00). Syntax 

: DOLLAR(bilangan,desimal)

Contoh

:

=DOLLAR(1234.567, 2) menghasilkan “$1,234.57” 

Production Engineering Department

Programming in Microsoft Excel 2000 =DOLLAR(1234.567, -2) menghasilkan “$1,200”  =DOLLAR(-1234.567, -2) menghasilkan “($1,200)”  =DOLLAR(-0.123, 4) menghasilkan “($0.1230)” 

EXACT Penjelasan : Membandingkan dua teks dan menghasilkan nilai TRUE jika kedua teks benar-

benar

sama,

sebaliknya

FALSE.

EXACT

adalah

case-sensitive

tetapi

menghiraukan pemformat an yang ada. Syntax 

: EXACT(teks1,teks2)

Contoh

:

=EXACT(“excel”,“excel”) menghasilkan TRUE =EXACT(“Excel”,“excel”) menghasilkan FALSE =EXACT(“e xcel”, “excel”) menghasilkan FALSE

Jika kita membuat worksheet untuk orang lain dan kita ingin memastikan agar orang tersebut memasukkan data dengan benar, kita bisa buat array formula berikut untuk memeriksanya : {=AND(EXACT(nilai_panduan,range_yang_dibandingkan)

Misalnya saja kita memiliki range tempat orang memasukkan datanya pada B2:D4, dan pada cell A1 terdapat kata kunci di mana orang harus memasukkan data sesuai dengan isi cell tersebut, maka kita bisa membuat array formula di A3 sebagai berikut : =AND(EXACT(A1,B2:D4))

Untuk lebih jelasnya perhatikan worksheet di bawah ini. A 1 2 3 4

B

C

D

kg

kg kg =AND(EXACT(A1,B2:D4)) kg kg kg kg Jika kita mengisi salah satu cell dengan isi selain ‘kg’, maka cell A3

kg kg kg akan bernilai FALSE.

Sebaliknya jika range B2:D4 berisi ‘kg’ semua, maka A3 akan bernilai TRUE. FIND Penjelasan : Mencari satu teks di dalam teks yang lainnya dan menghasilkan posisi karakter

pertamanya. Kita juga bisa menggunakan fungsi SEARCH untuk mencari teks tertentu, tetapi tidak seperti SEARCH, fungsi FIND adalah case-sensitive dan tidak mengizinkan adanya karakter wildcard . Jika teks yang dicari tidak terdapat dalam teks yang lainnya, maka Excel akan memberikan nilai kesalahan #VALUE!. Syntax 

: FIND(teks_yang_dicari,teks_tempat_mencari,posisi_mulai)

Contoh

:

=FIND(“c”,“Microsoft Excel”) menghasilkan 3 =FIND(“c”,“Microsoft Excel”,5) menghasilkan 13 =FIND(“Ex”,“Microsoft Excel”) menghasilkan 11

Misalkan kita mempunyai daftar komponen dan nomor serinya, dan kita ingin memisahkan nama komponen tersebut dari nomor serinya pada setiap cell. Andaikan saja range A2:A4 berisi  “Ceramic Insulators #124-TD45-87”, “Copper Coils #12-671-6772”, dan “Variable Resistors #116010”. Maka kita bisa membuat formula =MID(A2,1,FIND(" #",A2)-1) di cell B2 misalnya lalu meng-copy -nya ke cell B3 dan B4. Kita juga bisa membuat array formula di range B2:B4 seperti {=MID(A6:A8,1,FIND(" #",A6:A8)-1)} . FIXED Penjelasan :

Membulatkan suatu bilangan pada posisi digit yang kita tentukan dan mengembalikan nilainya sebagai teks.

Syntax 

: FIXED(bilangan,posisi_digit)

Production Engineering Department

30

Programming in Microsoft Excel 2000 Contoh

:

=FIXED(1234.567,1) menghasilkan “1234.6”  =FIXED(-1234.567,-1) menghasilkan “-1230”  =FIXED(44.332) menghasilkan “44.33” 

LEFT Penjelasan : Mengambil beberapa karakter pertama (dari kiri) dalam suatu teks. Syntax 

: LEFT(teks,jumlah_karakter)

Contoh

:

=LEFT(“Sale Price”,4) menghasilkan “Sale” 

Beberapa program atau aplikasi terkadang menghasilkan bilangan negatif dengan tanda negatif  (-) di sebelah kanan nilai. Ini akan menjadi masalah ketika kita melakukan import  file dari aplikasi tersebut ke dalam Excel. Berikut adalah program untuk mengubah nilai negatif, misalnya  “156-”, yang terdapat di cell A2 agar menjadi nilai –156 : =LEFT(A2,LEN(A2)-1)*-1

LEN Penjelasan : Menghitung jumlah karakter yang terdapat di dalam (atau panjangnya) teks. Syntax 

: LEN(teks)

Contoh

:

=LEN(“Phoenix Pinion”) menghasilkan 14 =LEN(“”) menghasilkan 0

LOWER  Penjelasan : Mengganti semua huruf yang terdapat di dalam teks menjadi huruf kecil. Syntax 

: LOWER(teks)

Contoh

:

=LOWER(“PT. Gajah Tunggal”) menghasilkan “pt. gajah tunggal” 

MID Penjelasan : Mengambil beberapa karakter dari sebuah teks. Syntax 

: MID(teks,posisi_mulai,banyaknya_karakter)

Contoh

:

=MID(“PT. Gajah Tunggal”,5,5) menghasilkan “Gajah”  =MID(“ABC”,2,5) menghasilkan “BC”  =MID(“ABC”,4,2) menghasilkan “” (teks kosong) =MID(“ABC”,0,2) menghasilkan #VALUE!

PROPER  Penjelasan : Meng-hurufbesar-kan huruf pertama pada masing-masing kata, dan meng-

hurufkecil-kan sisanya. Syntax 

: PROPER(teks)

Contoh

:

=PROPER(“ini adaLah JUDUL”) menghasilkan “Ini Adalah Judul”  =PROPER(“2-orang anak”) menghasilkan “2-Orang Anak”  =PROPER(“76BudGet”) menghasilkan “76Budget” 

REPLACE Penjelasan : Akan mengganti bagian pada posisi tertentu dalam suatu teks dengan bagian lain. Syntax 

: REPLACE(teks,posisi_diganti,jumlah_kar_diganti,teks_pengganti)

Contoh

:

=REPLACE(“abcdefghijk”,6,5,“*”) menghasilkan “abcde*k”  =REPLACE(“abcdefghijk”,6,1,”12345”) menghasilkan “abcde12345ghijk”  =REPLACE(“abcdefghijk”,6,3,””) menghasilkan “abcdeijk” 

Production Engineering Department

31

Programming in Microsoft Excel 2000 REPT Penjelasan : Mengulang teks sebanyak yang kita tentukan. Syntax 

: REPT(teks,banyaknya_pengulangan)

Contoh

:

=REPT(“+-”,3) menghasilkan “+-+-+-”  =REPT(“Sales”,2.9) menghasilkan “SalesSales” 

RIGHT Penjelasan : Mengambil beberapa karakter terakhir (dari kanan) dalam suatu teks. Syntax 

: RIGHT(teks,jumlah_karakter)

Contoh

:

=RIGHT(“Sale Price”,3) menghasilkan “ice” 

SEARCH Penjelasan : Mencari satu teks di dalam teks yang lainnya dan menghasilkan posisi karakter

pertamanya. Fungsi ini mengizinkan adanya karakter wildcard  yaitu ? untuk mewakilkan satu karakter bebas dan * untuk mewakilkan beberapa karakter bebas. Fungsi ini tidak case-sensitive jadi tidak akan membedakan antara huruf  besar dan huruf kecil. Jika teks yang dicari tidak terdapat dalam teks yang lainnya, maka Excel akan memberikan nilai kesalahan #VALUE!. Syntax 

: SEARCH(teks_yang_dicari,teks_tempat_mencari,posisi_mulai)

Contoh

:

=SEARCH(“C”,“Microsoft Excel”) menghasilkan 3 =SEARCH(“??c”,“Microsoft Excel”,5) menghasilkan 11 =SEARCH(“*c”,“Microsoft Excel”,5) menghasilkan 5

SUBSTITUTE Penjelasan : Akan mengganti bagian tertentu dalam suatu teks dengan bagian lain. Gunakan

SUBSTITUTE jika kita ingin mengganti suatu teks dalam teks tertentu. Dan gunakan REPLACE jika kita ingin mengganti suatu teks pada posisi tertentu dalam teks tertentu. Syntax 

: SUBSTITUTE(teks,teks_lama,teks_baru,urutan_yang_diganti)

Contoh

:

=SUBSTITUTE(“Sales Data”,“Sales”,“Cost”) menghasilkan “Cost Data”  =SUBSTITUTE(“1 Januari 1991”,“1”,“2”) menghasilkan “2 Januari 2992”  =SUBSTITUTE(“1 Januari 1991”,“1”,“2”,1) menghasilkan “2 Januari 1991” 

TEXT Penjelasan : Mengubah nilai menjadi teks yang memiliki format tertentu. Syntax 

: TEXT(nilai,format_teks)

Contoh

:

=TEXT(2.715,“$0.00”) menghasilkan “$2.72”  =TEXT(“4/15/91”,“mmmm dd, yyyy”) menghasilkan “April 15, 1991” 

TRIM Penjelasan : Menghilangkan spasi lebih yang terdapat di antara kata. Syntax 

: TRIM(teks)

Contoh

:

=TRIM(“ Saya

Suka Buah

”) menghasilkan “Saya Suka Buah” 

UPPER  Penjelasan : Mengganti semua huruf yang terdapat di dalam teks menjadi huruf besar. Syntax 

: UPPER(teks)

Contoh

:

=UPPER(“PT. Gajah Tunggal”) menghasilkan “PT. GAJAH TUNGGAL” 

Production Engineering Department

32

Programming in Microsoft Excel 2000

VALUE Penjelasan : Mengubah teks yang menggambarkan nilai menjadi nilai murni. Teks dapat

diisikan dengan sembarang format nilai, tanggal atau waktu. Jika diisikan dengan format yang tidak dikenal oleh Excel, maka nilai #VALUE! akan dihasilkan. Syntax 

: VALUE(teks)

Contoh

:

=VALUE(“$1,000”) menghasilkan 1,000 =VALUE(“16:48:00”)-VALUE(“12:00:00”) menghasilkan 0.2.

Beberapa Fungsi LookUp dan Alamat dalam Excel Berikut adalah fungsi LookUp dan pengalamatan cell/range dalam Excel yang sering digunakan dalam pekerjaan : ADDRESS Penjelasan : Menghasilkan alamat cell sebagai teks sesuai dengan nilai kolom dan nilai baris

yang dimasukkan. Syntax 

: ADDRESS(no_urut_baris,no_urut_kolom,kode_abs,a1,nama_sheet) kode_abs

Jenis pengalamatan yang dihasilkan

1 (default ) absolute 2 absolute row; relative column 3 relative row; absolute column 4 relative Jika abs diisi dengan TRUE, maka pengalamatan yang dihasilkan akan dalam bentuk notasi A1. Jika diisi dengan FALSE, maka pengalamatan yang dihasilkan akan dalam

bentuk notasi R1C1.

nama_sheet  bisa

diisi

jika ingin

mencantumkan nama worksheet pada hasilnya Contoh

:

=ADDRESS(2,3) menghasilkan “$C$2”  =ADDRESS(2,3,2) menghasilkan “C$2”  =ADDRESS(2,3,2,FALSE) menghasilkan “R2C[3]”  =ADDRESS(2,3,1,FALSE,“[Book1]Sheet1”) hasilkan “[Book1]Sheet1!R2C3”  =ADDRESS(2,3,1,FALSE,“EXCEL SHEET”) hasilkan “‘EXCEL SHEET’!R2C3” 

AREAS Penjelasan : Menghasilkan jumlah area (cell dan/atau range) dalam suatu alamat. Syntax 

: AREAS(alamat)

Contoh

:

=AREAS((B2:D4,E5,F6:I9)) menghasilkan 3

Jika nama Harga mengacu pada area B1:D4, B2, dan E1:E10, maka : =AREAS(Harga) menghasilkan 3

CHOOSE Penjelasan : Menghasilkan nilai tertentu sesuai dengan daftar parameter/argumen. CHOOSE

bisa digunakan untuk memilih satu di antara 29 nilai berdasarkan urutan yang akan diambil. Syntax 

: CHOOSE(urutan_index,nilai1,nilai2,…)

Contoh

:

=CHOOSE(2,“kg”,“cm”,“cc”,“pcs”) menghasilkan “cm” 

Production Engineering Department

33

Programming in Microsoft Excel 2000 =SUM(A1:CHOOSE(3,A10,A20,A30)) menghasilkan =SUM(A1:A30)

Jika SLama adalah nama yang mengacu pada nilai 10000, maka : =CHOOSE(2,SBaru,SLama,SBudget) menghasilkan 10000

COLUMN Penjelasan : Menghasilkan nomor kolom berdasarkan alamat yang diberikan. Syntax 

: COLUMN(alamat)

Contoh

:

=COLUMN(A3) menghasilkan 1

Jika dibuat sebagai array formula di 3 cell berderet horizontal, maka : =COLUMN(A3:C5) menghasilkan {1,2,3}

Jika fungsi COLUMN dimasukkan di cell C5, maka : =COLUMN() sama dengan =COLUMN(C5) dan menghasilkan 3

COLUMNS Penjelasan : Menghasilkan banyaknya kolom dalam alamat yang diberikan. Syntax 

: COLUMNS(alamat)

Contoh

:

=COLUMNS(A1:C4) menghasilkan 3 =COLUMNS({1,2,3;4,5,6}) menghasilkan 3

CATATAN : Tanda , (koma) digunakan sebagai pemisah kolom dan tanda ; (titik koma) digunakan sebagai pemisah baris. HLOOKUP Penjelasan : Mencari nilai yang terdapat di baris paling atas dari suatu tabel, dan menghasilkan

nilai yang terdapat pada kolom yang sama (dengan nilai yang kita cari). Gunakan HLOOKUP jika nilai yang dibandingkan terdapat pada baris paling atas tabel dan ingin mencari data pada baris di bawahnya. Gunakan VLOOKUP jika nilai yang dibandingkan terdapat pada kolom paling kiri tabel dan ingin mencari data pada kolom di kanannya. Fungsi HLOOKUP ini tidak case-sensitive. Syntax 

: HLOOKUP(nilai_yang_dicari, tabel,baris_diinginkan,range_lookup) tabel  harus diisi dengan nama atau alamat sumber data. Nilai pada baris

pertama pada tabel  dapat berupa teks, bilangan, atau nilai logika. Jika range_lookup diisi dengan TRUE, maka nilai pada baris paling atas harus dalam

keadaan ascending order  (urut dari nilai terkecil ke nilai terbesar: …-2,-1,0,1, 2,…, A-Z). Jika range_lookup diisi dengan FALSE, maka nilai pada baris paling atas tidak harus dalam keadaan urut. baris_diinginkan diisi dengan nomor baris yang datanya akan diambil. Jika

diisi dengan 1, maka nilai yang dikembalikan akan diambil dari baris pertama dalam tabel, dan begitu juga seterusnya. Jika diisi dengan nilai yang lebih kecil dari 1, maka HLOOKUP akan mengembalikan nilai #VALUE!; sedangkan jika diisi dengan nilai yang lebih besar dari jumlah baris yang ada dalam tabel, maka HLOOKUP akan menghasilkan nilai #REF!. range_lookup bisa diisi dengan TRUE ( default ) maka HLOOKUP akan mencari

dengan metode approximate match, dimana jika nilai_yang_dicari  tidak ditemukan dalam tabel, maka yang akan dihasilkan adalah nilai terdekat dengan nilai_yang_dicari  (nilai terbesar yang kurang dari nilai_yang_dicari ). Jika diisi dengan FALSE maka HLOOKUP akan mencari dengan metode exact  match, dimana jika nilai_yang_dicari  tidak ditemukan dalam tabel, maka yang

Production Engineering Department

34

Programming in Microsoft Excel 2000 akan dihasilkan adalah nilai #N/A. Contoh

:

Seandainya kita memiliki worksheet seperti di bawah ini : A 1 2 3 4 5 6

B

nama umur status

C

D

Amir

Budi

Cahyo

21 bujangan

24 menikah

22 bujangan

amir

Lalu cell A6 diisi dengan formula berikut : =HLOOKUP(“Budi”,B1:D3,3) menghasilkan “menikah”  =HLOOKUP(A5,B1:D3,2,TRUE) menghasilkan 21 =HLOOKUP(“Agung”,B1:D3,3) menghasilkan #N/A =HLOOKUP(“bagyo”,B1:D3,2,TRUE) menghasilkan 21 =HLOOKUP(“Cica”,B1:D3,2,FALSE) menghasilkan #N/A

Tabel juga dapat berbentuk array yang berisi nilai konstan, seperti : =HLOOKUP(3,{1,2,3;“a”,“b”,“c”;“d”,“e”,“f”},2,TRUE) menghasilkan “c” 

CATATAN : Tanda , (koma) digunakan sebagai pemisah kolom dan tanda ; (titik koma) digunakan sebagai pemisah baris. MATCH Penjelasan : Mencari urutan posisi sebuah nilai yang terdapat pada tabel. Gunakan fungsi

MATCH, dan bukannya HLOOKUP atau VLOOKUP, ketika yang kita butuhkan adalah posisi nilai dan bukan nilai itu sendiri. Fungsi ini tidak case-sensitive. Syntax 

: MATCH(nilai_yang_dicari,tabel,jenis)  jenis

metode pencarian yang dilakukan

1

mencari nilai terbesar yang lebih kecil dari atau sama dengan

(default 

nilai_yang_dicari . Tabel harus dalam keadaan ascending order 

)

(urut dari nilai terkecil ke nilai terbesar: …-2,-1,0,1,2,…, A-Z). mencari nilai yang benar-benar sama dengan nilai_yang_dicari .

0

-1

Tabel tidak harus dalam keadaan terurut. mencari nilai terkecil yang lebih besar dari atau sama dengan nilai_yang_dicari . Tabel harus dalam keadaan descending order 

(urut dari nilai terkecil ke nilai terbesar: …2,1,0,-1,-2,…, Z-A). Jika MATCH tidak berhasil menemukan nilai_yang_dicari , maka nilai yang akan dihasilkan adalah #N/A. Jika  jenis diisi dengan 0 dan nilai_yang_dicari  berjenis teks, maka kita bisa menggunakan karakter wildcard (? untuk mewakilkan satu karakter bebas dan * untuk mewakilkan beberapa karakter bebas). Contoh

:

Jika kita memiliki worksheet seperti di bawah ini : A

B

1 Pendapatan (Yen) U.S. Dollar 2 JPY 5,365,000.00 $37,000 3 JPY 5,510,000.00 $38,000 4 JPY 5,655,000.00 $39,000 5 JPY 5,800,000.00 $40,000 6 JPY 5,945,000.00 $41,000 =MATCH(39000,B2:B6,1) menghasilkan 3

C Tax Rate

21.50% 21.67% 21.84% 21.99% 22.14%

=MATCH(38000,B2:B6,0) menghasilkan 2 =MATCH(39000,B2:B6,-1)

menghasilkan #N/A, karena range B2:B8 tidak

dalam keadaan descending order , melainkan ascending order  Jika range A2:A8 diberi nama Yen, range A2:C8 diberi nama YenDollar , dan

Production Engineering Department

35

Programming in Microsoft Excel 2000 sebuah cell yang berisi nilai JPY 6,031,126.33 diberi nama MyIncome, maka : =“Your tax rate is ” & VLOOKUP(MyIncome,YenDollar,3) & “, which places you in tax bracket number ”

& MATCH(MyIncome,Yen) &

“.”

menghasilkan “Your tax rate is 22.41%, which places you in tax bracket number 7.”  OFFSET Penjelasan : Mereferensikan ke alamat cell/range tertentu berdasarkan posisi baris dan kolom

dari cell/range tertentu. Referensi yang dihasilkan dapat berupa cell tunggal atau range. Kita juga bisa menentukan jumlah baris dan kolom yang ingin dihasilkan. Syntax 

: OFFSET(alamat_awal,pos_baris,pos_kolom,tinggi,lebar) alamat_awal  harus diisi dengan alamat cell/range awal sebagai panduan. alamat_awal  harus diisi dengan alamat cell/range yang berdekatan; jika tidak

maka OFFSET akan menghasilkan nilai #VALUE!.  pos_baris diisi dengan jumlah baris pergerakan, ke atas (bilangan negatif)

atau ke bawah (bilangan positif).  pos_kolom diisi dengan jumlah kolom pergerakan, ke kiri (bilangan negatif) atau ke kanan (bilangan positif). Jika  pos_baris dan  pos_kolom melewati batas-batas sebuah worksheet, maka

OFFSET akan menghasilkan nilai #REF! tinggi  dan lebar  masing-masing menyatakan jumlah baris dan jumlah kolom

yang ingin dihasilkan. Jika tinggi  dan lebar  dihilangkan, maka OFFSET akan menjadikan hasilnya memiliki baris dan kolom yang sama dengan alamat_awal . Contoh

:

=OFFSET(C3,2,3,1,1) menghasilkan isi cell F5 =OFFSET(C3:E5,-1,0,3,3) menghasilkan isi cell C2:E4 =OFFSET(C3:E5,0,-3,3,3) menghasilkan isi cell #REF! =SUM(OFFSET(C2,1,2,3,1)) sama dengan =SUM(E3:E5)

ROW Penjelasan : Menghasilkan nomor baris berdasarkan alamat yang diberikan. Syntax 

: ROW(alamat)

Contoh

:

=ROW(A3) menghasilkan 3

Jika dibuat sebagai array formula di 3 cell berderet horizontal, maka : =ROW(A3:C5) menghasilkan {3,4,5}

Jika fungsi ROW dimasukkan di cell C5, maka : =ROW() sama dengan =ROW(C5) dan menghasilkan 5

ROWS Penjelasan : Menghasilkan banyaknya baris dalam alamat yang diberikan. Syntax 

: ROWS(alamat)

Contoh

:

=ROWS(A1:C4) menghasilkan 4 =ROWS({1,2,3;4,5,6}) menghasilkan 2

CATATAN : Tanda , (koma) digunakan sebagai pemisah kolom dan tanda ; (titik koma) digunakan sebagai pemisah baris. TRANSPOSE Penjelasan : Mengubah range vertical  menjadi range horizontal , dan begitu juga sebaliknya.

TRANSPOSE harus dimasukkan sebagai array formula.

Production Engineering Department

36

Programming in Microsoft Excel 2000 Syntax 

: TRANSPOSE(alamat)

Contoh

:

Misalkan kita memiliki range A1:C1 berisi nilai 1, 2, dan 3. Dan jika kita memasukkan array formula berikut ke dalam range A3:A5 : =TRANSPOSE(A1:C1) maka range A3:A5 akan berisi nilai 1, 2, dan 3.

VLOOKUP Penjelasan : Mencari nilai yang terdapat di kolom paling kiri dari suatu tabel, dan menghasilkan

nilai yang terdapat pada baris yang sama (dengan nilai yang kita cari). Gunakan HLOOKUP jika nilai yang dibandingkan terdapat pada baris paling atas tabel dan ingin mencari data pada baris di bawahnya. Gunakan VLOOKUP jika nilai yang dibandingkan terdapat pada kolom paling kiri tabel dan ingin mencari data pada kolom di kanannya. Fungsi VLOOKUP ini tidak case-sensitive. Syntax 

: VLOOKUP(nilai_yang_dicari, tabel,kolom_diinginkan,range_lookup) tabel  harus diisi dengan nama atau alamat sumber data. Nilai pada kolom

pertama pada tabel  dapat berupa teks, bilangan, atau nilai logika. Jika range_lookup diisi dengan TRUE, maka nilai pada kolom paling kiri harus dalam

keadaan ascending order  (urut dari nilai terkecil ke nilai terbesar: …-2,-1,0,1, 2,…, A-Z). Jika range_lookup diisi dengan FALSE, maka nilai pada kolom paling kiri tidak harus dalam keadaan urut. baris_diinginkan diisi dengan nomor kolom yang datanya akan diambil. Jika

diisi dengan 1, maka nilai yang dikembalikan akan diambil dari kolom pertama dalam tabel, dan begitu juga seterusnya. Jika diisi dengan nilai yang lebih kecil dari 1, maka VLOOKUP akan mengembalikan nilai #VALUE!; sedangkan jika diisi dengan nilai yang lebih besar dari jumlah kolom yang ada dalam tabel, maka VLOOKUP akan menghasilkan nilai #REF!. range_lookup bisa diisi dengan TRUE ( default ) maka VLOOKUP akan mencari

dengan metode approximate match, dimana jika nilai_yang_dicari  tidak ditemukan dalam tabel, maka yang akan dihasilkan adalah nilai terdekat dengan nilai_yang_dicari  (nilai terbesar yang kurang dari nilai_yang_dicari ). Jika diisi dengan FALSE maka VLOOKUP akan mencari dengan metode exact  match, dimana jika nilai_yang_dicari  tidak ditemukan dalam tabel, maka yang

akan dihasilkan adalah nilai #N/A. Contoh

:

Seandainya kita memiliki worksheet seperti di bawah ini : A 1 2 3 4 5 6 7

pn#

ABDAA NAAAA NRAAB WTAAAAAZ

B

C

u/m

qty

kg roll kg pcs

12300 50 25800 125000

NRAAAB Lalu cell A6 diisi dengan formula berikut : =VLOOKUP(“NAAAA”,A2:C5,3) menghasilkan 50 =VLOOKUP(A7,A2:C5,2,TRUE) menghasilkan “kg”  =VLOOKUP(“Abcaa”,A2:C5,3) menghasilkan #N/A =VLOOKUP(“nraaa”,A2:C5,2,TRUE) menghasilkan roll =VLOOKUP(“NRAAC”,A2:C5,2,FALSE) menghasilkan #N/A

Production Engineering Department

37

Programming in Microsoft Excel 2000

Beberapa Fungsi Information dalam Excel Berikut adalah fungsi Information dalam Excel yang sering digunakan dalam pekerjaan : CELL Penjelasan : Menghasilkan informasi yang berisi formatting, lokasi, atau isi cell paling kiri atas

dari referensi alamat yang kita masukkan. Fungsi CELL ini biasanya digunakan untuk menjaga kompatibilitas dengan pengolah lembar kerja ( spreadsheet ) lain, seperti Lotus 123, Quattro Pro, dan lain-lain. Syntax 

: CELL(jenis_info,alamat)  jenis_info

nilai yang dikembalikan

 “address”  “col”

alamat cell pertama dalam alamat , sebagai teks. nomor kolom cell pertama dalam alamat  1 jika cell diformat warna untuk bilangan negatif; sebaliknya

 “color” 

akan mengembalikan 0 (nol). isi dari cell pertama dalam alamat  nama file (full path) alamat  yang bersangkutan. Mengem-

 “contents”  “filename” 

balikan teks kosong (“”) jika filenya belum disimpan. teks yang merupakan number format  dari cell yang bersangkutan.Teks untuk masing-masing

format dapat

dilihat pada tabel di bawah. Jika cell diformat warna untuk  “format” 

bilangan negatif, maka pada akhir teks akan ditambahkan karakter “-”. Jika cell diformat menggunakan tanda kurung untuk bilangan positif atau bilangan lain, maka pada akhir teks akan ditambahkan karakter “()”. 1 jika cell diformat menggunakan tanda kurung untuk

 “parentheses” 

bilangan positif atau bilangan lain, sebaliknya 0 (nol). teks yang merupakan label prefix  dari cell yang bersangkutan. Mengembalikan tanda kutip tunggal (') jika cell berisi teks rata kiri, kutip ganda (") jika cell berisi teks rata kanan,

 “prefix” 

caret  (^) jika cell berisi teks rata tengah, backslash (\) jika

cell berisi pengulangan karakter, dan teks kosong (“”) jika  “protect”  “row”

cell berisi yang lain. 0 jika cell tidak dikunci dan 1 jika cell dikunci. nomor baris cell pertama dalam alamat  teks yang merupakan jenis data yang terdapat dalam cell.

 “type” 

Mengembalikan “b” (blank ) jika cellnya kosong, “l” ( label )

 jika cell berisi teks, dan “v” (value) jika berisi yang lain. lebar cell dibulatkan ke bawah alamat  disini adalah cell yang kita ingin dapatkan informasinya. Jika

width”

dikosongkan, maka akan diambil cell yang terakhir kali kita ubah. Daftar berikut ini adalah nilai yang akan dikembalikan oleh fungsi CELL jika  jenis_info diisi dengan “format” dan alamat  adalah cell yang berisi bilangan

dan memiliki number format (yang sudah disediakan Excel). Jika formatnya adalah

CELL menghasilkan

General

"G"

0

"F0"

#,##0

",0"

Production Engineering Department

38

Programming in Microsoft Excel 2000

0.00

"F2"

#,##0.00

",2"

$#,##0_);($#,##0)

"C0'

$#,##0_);[Red]($#,##0)

"C0-"

$#,##0.00_);($#,##0.00)

"C2"

$#,##0.00_);[Red]($#,##0.00) "C2-" 0%

"P0"

0.00%

"P2"

0.00E+00

"S2"

# ?/? atau # ??/??

"G"

m/d/yy atau m/d/yy h:mm atau mm/dd/yy

"D4"

d-mmm-yy atau dd-mmm-yy

"D1"

d-mmm atau dd-mmm

"D2"

mmm-yy

"D3"

mm/dd

"D5"

h:mm AM/PM

"D7"

h:mm:ss AM/PM

"D6"

h:mm

"D9"

h:mm:ss

"D8"

Jika info_type diisi dengan “format”, dan cell baru diformat kemudian dengan custom format , maka kita harus melakukan kalkulasi ulang (calculation) agar

hasil perubahan dikenal oleh fungsi CELL. Contoh

:

=CELL(“row”,A20) menghasilkan 20

Jika cell B12 diformat “d-mmm”, maka =CELL(“format”,B12) hasilkan “D2”  ERROR.TYPE Penjelasan : Menghasil Menghasilkan kan bilangan bilangan berdasarka berdasarkan n nilai nilai kesalahan kesalahan yang diberikan diberikan.. Kita dapat dapat

menggu menggunak nakan an fungsi fungsi ini ini dan mengga menggabun bungka gkanny nnya a dengan dengan fungsi fungsi IF untuk untuk memeriksa nilai kesalahan dan menampilkan pesan yang kita tentukan. Syntax 

: ERROR.TYPE(nilai_kesalahan) nilai_ nilai_kes kesala alahan han

Contoh

:

nilai nilai yang yang dikemb dikembali alikan kan

#NULL! 1 #DIV/0! 2 #VALUE! 3 #REF! 4 #NAME? 5 #NUM! 6 #N/A 7 selain di atas #N/A Formul Formula a berikut berikut ini ini digunak digunakan an untuk untuk memerik memeriksa sa cell cell E50 apakah apakah isin isinya ya nilai nilai kesalahan #NULL! atay #DIV/0!. Jika benar, maka tampilkan pesan kesalahan. =IF(ERROR.TYPE(E50)< =IF(ERROR.TYPE(E50) < >=

sama dengan lebih besar dari lebih kecil dari lebih besar atau sama dengan dari lebih kecil atau sama dengan dari tidak sama dengan

3 7 < 7 8 >= 7

→ → → →

-1 = 0.5 Then MsgBox “Selamat Siang/Sore” End Sub

Prosedur di atas menambahkan satu perintah If Time >= 0.5 untuk menangani waktu setelah  jam 12:00 siang. Pendekatan lain bisa dilakukan dengan menggunakan Else sebagai berikut : Sub Ucapan() If Time < 0.5 Then MsgBox “Selamat Pagi” Else _ MsgBox “Selamat Siang/Sore” End Sub

Jika kita ingin agar prosedur kita bisa menangani 3 ucapan (misalnya pagi, siang/sore, dan malam), maka kita bisa menggunakan 3 perintah If-Then sebagai berikut : Sub Ucapan() If Time < 0.5 Then MsgBox “Selamat Pagi” If Time >= 0.5 And Time < 0.75 Then MsgBox “Selamat Siang/Sore” If Time >= 0.75 Then MsgBox “Selamat Malam” End Sub

Nilai 0.75 di atas menandakan jam 06:00 sore. Perhatikan modifikasi program di bawah ini yang menggunakan struktur If-Then-Else bertingkat : Sub Ucapan() If Time < 0.5 Then MsgBox “Selamat Pagi” Else _ If Time >= 0.5 And Time < 0.75 Then MsgBox “Selamat Siang/Sore” Else _ If Time >= 0.75 Then MsgBox “Selamat Malam” End Sub

Production Engineering Department

77

Programming in Microsoft Excel 2000 Prosedur-prosedur di atas bisa kita lihat hanya menggunakan satu perintah sederhana saja pada masing-masing blok If dan Else, sehingga struktur If-Then-Else cukup dituliskan dalam satu baris saja. Namun bagaimana jika perintah yang harus dilaksanakan dalam blok If dan Else lebih dari satu perintah? Syntax  If-Then-Else lain untuk program yang lebih kompleks adalah sebagai berikut : If condition Then [true_instructions] [ElseIf condition-n Then [alternate_instructions]] [Else [default_instructions]] End If

Berikut adalah modifikasi program terakhir (yang agak sulit dibaca) dengan menggunakan syntax If-Then-Else di atas : Sub Ucapan() If Time < 0.5 Then MsgBox “Selamat Pagi” ElseIf Time >= 0.5 And Time < 0.75 Then MsgBox “Selamat Siang/Sore” ElseIf Time >= 0.75 Then MsgBox “Selamat Malam” End If End Sub

78

LATIHAN Buatlah prosedur-prosedur untuk meminta masukkan dengan InputBox untuk jumlah barang yang akan dibeli. Lalu adakan pengkondisian untuk diskon berdasarkan jumlah barang yang dibeli sebagai berikut : 1 ≤ jumlah < 25 ≤ jumlah < 50 ≤ jumlah < jumlah ≥

25, 50, 75, 75,

maka maka maka maka

diskon diskon diskon diskon

= = = =

10 15 20 25

% % % %

Lalu tampilkan besarnya diskon dengan MsgBox ! Catatan : Buatlah dua program ! Satu dengan syntax pada hal. 76 dan satu dengan syntax pada hal. 77.

Fungsi Iif VBA menawarkan alternatif lain untuk menggantikan struktur If-Then : fungsi IIf. Fungsi ini memiliki tiga argumen/ parameter dan bekerja sama persis dengan fungsi IF dalam worksheet Excel. Syntax nya adalah : IIf(condition, true_value, false_value)

Jika condition bernilai True, maka nilai true_value akan akan dikembalikan, sebaliknya jika condition bernilai False, maka nilai false_value akan dikembalikan. Perintah berikut mendemonstrasikan penggunaan fungsi IIf untuk menampilkan pesan “Nol” jika cell A1 berisi nilai 0 atau tidak ada isinya, sebaliknya akan menampilkan pesan “Bukan Nol”. MsgBox IIf(Range(“A1”).Value = 0, “Nol”, “Bukan Nol”)

Select-Case Select-Case sangat berguna untuk melakukan penyeleksian terhadap 3 kondisi atau lebih dan

merupakan alternatif yang lebih baik daripada penggunaan If-Then-Else untuk kondisi yang banyak. Syntax untuk Select-Case adalah sebagai berikut : Select Case testexpresion

Production Engineering Department

Programming in Microsoft Excel 2000 [Case expressionlist-n [instructions]] [Case Else [default_instructions]] End Select

Kita bisa memasukkan nama variabel atau ekspresi lain yang menghasilkan nilai pada testexpression dan nilainya pada expressionlist-n . Bagian Case Else akan dikerjakan jika

nilainya tidak ada yang memenuhi expressionlist-n . Berikut adalah modifikasi dari prosedur terakhir yang menggunakan If-Then-Else : Sub Ucapan() Select Case Time Case Is < 0.5 Msg = “Selamat Pagi” Case 0.5 To 0.75 Msg = “Selamat Siang/Sore” Case Else Msg = “Selamat Malam” End Select MsgBox Msg End Sub

Berikut adalah contoh dari penggunaan Select-Case bertingkat : Sub AppWindow() Select Case Application.WindowState Case xlMaximized: MsgBox “App Maximized” Case xlMinimized: MsgBox “App Minimized” Case xlNormal: MsgBox “App Normal” Select Case ActiveWindow.WindowState Case xlMaximized: MsgBox “Book Maximized” Case xlMinimized: MsgBox “Book Minimized” Case xlNormal: “Book Normal” End Select End Select End Sub

LATIHAN Ubahlah prosedur pada latihan sebelumnya yang menggunakan If-Then-Else menjadi menggunakan Select-Case !

Bekerja Dengan Prosedur Prosedur adalah sekumpulan kode VBA yang berada di dalam modul VBA, yang bisa diakses

melalui Visual Basic Editor . Sebuah modul dapat menampung beberapa prosedur. Fungsi adalah prosedur yang dapat mengembalikan nilai. Prosedur dapat dijalankan melalui menubar  atau toolbar  melalui fungsi  Assign Macro. Sedangkan fungsi dapat digunakan langsung pada

worksheet Excel. Misalkan kita memiliki prosedur Proc1 dan fungsi Func1, maka kita bisa membuat menu untuk mengakses Proc1 (akan dibahas kemudian) dan menulis rumus di cell seperti =Func1() (akan dibahas kemudian).

Mendeklarasikan Prosedur

Production Engineering Department

79

Programming in Microsoft Excel 2000 Prosedur dideklarasikan dengan kata Sub yang syntax nya adalah sebagai berikut : [Private | Public][Static] Sub name [(arglist)] [instructions ] End Sub

Private

(opsional) menandakan bahwa prosedur yang bersangkutan hanya bisa diakses oleh prosedur yang terletak pada modul yang sama. Jika sebuah prosedur

Public

bersifat Private, ia tidak akan bisa diakses melalui kotak dialog Macro. (opsional) menandakan bahwa prosedur yang bersangkutan bisa diakses oleh semua prosedur di dalam modul yang berada pada workbook yang sama.

Static

Secara default prosedur memiliki lingkup Public . (opsional) menandakan bahwa variabel yang terdapat pada prosedur nilainya

Sub name arglist

tidak akan berubah walaupun proses di prosedur tersebut sudah selesai. menandakan awal prosedur. menandakan nama prosedur. (opsional) daftar variabel argumen/parameter, yang terdapat di dalam tanda

instructions End Sub

kurung. Gunakan koma untuk memisahkan argumen/parameter. (opsional) perintah-perintah VBA. menandakan akhir prosedur.

CATATAN … Untuk memaksa semua prosedur bersifat Private (termasuk prosedur yang menyertakan kata Public ), tambahkan perintah Option Private Module pada awal modul sebelum prosedur pertama.

80

Menjalankan Prosedur Terdapat banyak cara untuk menjalankan prosedur, diantaranya adalah : Melalui menu Run Run Sub/UserForm atau dengan menekan F5 di dalam VB Editor. Excel lalu akan menjalankan prosedur dimana kursor berada. Tetapi metode ini tidak akan bekerja jika prosedur yang bersangkutan memiliki argumen/parameter. Melalui kotak dialog Macro yang dapat dibuka melalui menu Tools Macro Macros… atau dengan menekan tombol Alt+F8. Kotak dialog Macro akan menampilkan daftar seluruh prosedur yang bisa dipanggil

dimana kita bisa memilih

salah satu macro lalu menekan tombol Run untuk

menjalankannya. Gambar 2.3 Kotak dialog Macro

Production Engineering Department

Programming in Microsoft Excel 2000 Dengan menggunakan tombol (shortcut ) Ctrl yang dipasang ke prosedur yang bersangkutan. Misalkan kita memiliki prosedur Update yang dipasang dengan tombol shortcut  Ctrl+U, maka dengan menekan Ctrl+U prosedur Update akan dijalankan secara otomatis. Ketika kita membuat macro dengan menggunakan macro recorder , kita ditanyakan tombol shortcut nya. Akan tetapi kita bisa setiap saat menentukan tombol shortcut nya. Untuk menentukan tombol shortcut  suatu macro langkahnya adalah : Aktifkan Excel Pilih menu Tools Macro Macros… atau tekan tombol Alt+F8 Tekan tombol Options… yang akan menampilkan kotak dialog seperti gambar 2.4 di bawah ini : Gambar 2.4 Kotak dialog Macro Options

Masukkan karakter pada teks bertuliskan Ctrl+. Jika kita memasukkan huruf kecil s, maka tombol shortcutnya adalah Ctrl+S, jika kita memasukkan huruf besar S, maka tombol shortcutnya adalah Ctrl+Shift+S.

Masukkan keterangannya pada teks bertuliskan Description (opsional). Tekan tombol OK untuk menutup kotak dialog Macro Options, dan tekan tombol Close untuk menutup kotak dialog Macro.

CATATAN … Jika kita memasang tombol shortcut yang sudah didefinisikan Excel sebelumnya, maka tombol shortcut tersebut akan mengambil alih tombol shortcut Excel. Misalnya jika kita memasang suatu prosedur dengan tombol Ctrl+S, maka dengan menekan tombol Ctrl+S yang dilakukan bukannya menyimpan file lagi, melainkan melakukan prosedur yang telah kita tentukan.

Melalui menubar yang sudah dipasang ke prosedur yang bersangkutan. Excel mengizinkan kita untuk menambah menu baru pada menu bar yang ada, yang urut-urutannya adalah sebagai berikut : Klik kanan pada daerah toolbar lalu pilih Customize… atau pilih menu View Toolbars Customize… . Excel kemudian akan menampilkan kotak

dialog Customize seperti gambar 2.5 di bawah. Klik tab Commands lalu gulung daftar Categories ke bawah dan pilih Macros. Di daftar Commands , geser (drag) item pertama yang bertuliskan Custom Menu Item ke arah menu bar (misalnya bawa ke menu Data paling bawah)

untuk menambah sub-menu baru. (catatan : jika ingin menambahkan menu baru pilih New Menu pada daftar Categories lalu geser item New Menu pada daftar Commands ke—misalnya—kanan menu Help) Klik kanan pada sub-menu yang baru tadi untuk menampilkan menu shortcut  dan berikan nama baru pada sub-menu tersebut misalnya &Ucapan seperti terlihat pada gambar 2.6 di bawah.

Production Engineering Department

81

Programming in Microsoft Excel 2000

Gambar 2.5  Kotak dialog Customize

Gambar 2.6 Shortcut-menu untuk penambahan menu baru

82

Lalu pilih Assign Macro… pada menu shortcut  tersebut dan pilih macro yang kita inginkan dari daftar macro yang ada—misalnya macro Ucapan . Setelah itu klik OK untuk menutup kotak dialog Assign Macro dan klik Close untuk menutup kotak dialog Customize. Sekarang menu baru tersebut sudah tersedia. Jika kita mengakses menu tersebut maka macro Ucapan akan dijalankan. Melalui tombol pada toolbar yang sudah dipasang ke prosedur yang bersangkutan. Excel mengizinkan kita untuk menambah tombol baru pada toolbar yang ada, yang urut-urutannya adalah sebagai berikut :

Production Engineering Department

Programming in Microsoft Excel 2000 Klik kanan pada daerah toolbar lalu pilih Customize… atau pilih menu View Toolbars Customize… . Excel kemudian akan menampilkan kotak

dialog Customize seperti gambar 2.5 di atas. Klik tab Commands lalu gulung daftar Categories ke bawah dan pilih Macros. Di daftar Commands , geser (drag) item kedua yang bertuliskan Custom Button ke arah toolbar (misalnya bawa ke toolbar Formatting paling kanan)

untuk menambah tombol baru. Klik kanan pada sub-menu yang baru tadi untuk menampilkan menu shortcut  dan berikan nama baru pada sub-menu tersebut misalnya Ucapan seperti terlihat pada gambar 2.6 di atas. Nama ini nantinya akan tampil sebagai tooltip. Jika kita mengosongkannya, maka tooltip akan menampilkan “Custom”. Lalu pilih Assign Macro… pada menu shortcut  tersebut dan pilih macro yang kita inginkan dari daftar macro yang ada—misalnya macro Ucapan . Setelah itu klik OK untuk menutup kotak dialog Assign Macro dan klik Close untuk menutup kotak dialog Customize. Sekarang menu baru tersebut sudah tersedia. Jika kita mengakses menu tersebut maka macro Ucapan akan dijalankan. Memanggil dari prosedur lain. Untuk memanggil suatu prosedur dari prosedur lain terdapat banyak cara, diantaranya adalah : Menggunakan nama prosedur langsung diikuti oleh argumen/parameter yang masing-masing dipisahkan dengan tanda koma. Contoh : Sub MySub() ... UpdateSheet MonthNum ... End Sub Sub UpdateSheet(MonthSeg) ... End Sub Menggunakan perintah Call diikuti dengan nama prosedur lalu argumen/

parameter-nya yang diapit oleh tanda kurung. Contoh Sub MySub() ... Call UpdateSheet(MonthNum) ... End Sub Sub UpdateSheet(MonthSeg) ... End Sub Menggunakan metode Run yang terdapat dalam objek Application . Metode ini

sangat berguna jika nama prosedur yang akan kita jalankan terdapat dalam suatu variabel dan bisa diubah-ubah. Contoh : Sub MySub() ... Application.Run “UpdateSheet”, MonthNum ... End Sub Sub UpdateSheet(MonthSeg) ... End Sub

Memanggil suatu prosedur dari modul lain. Seperti kita tahu bahwa jika kita memanggil suatu prosedur yang tidak terdapat pada modul yang sama, VBA akan secara otomatis mencari prosedur tersebut (yang bersifat Public ) di modul lain dalam workbook yang sama. Jika suatu prosedur—misalnya prosedur B—

Production Engineering Department

83

Programming in Microsoft Excel 2000 memanggil prosedur lain—misalnya prosedur  A  —dan prosedur A tersebut terdapat di modul yang sama dan terdapat juga di modul lain sebagai prosedur Public , maka kita harus menyertakan nama modulnya dalam pemanggilan

prosedur A tersebut. Perhatikan gambaran berikut untuk lebih jelasnya : Module1

Module2

Sub A() ... End Sub Sub B() Call A Call Module1.A Call Module2.A End Sub

Sub A() ... End Sub ‘ambiguous error

Memanggil suatu prosedur dari workbook lain. Kita juga bisa memanggil suatu prosedur dari workbook lain dengan cara menyertakan nama projek VBA-nya diikuti oleh nama modulnya lalu nama prosedurnya dan argumen/parameternya jika ada, misalnya : ProjekKu.ModulKu.ProsedurKu atau bisa juga dengan menggunakan perintah Call, misalnya : Call ProjekKu.ModulKu.ProsedurKu . Cara lain untuk memanggil prosedur dari workbook lain adalah dengan menggunakan metode Run yang terdapat di dalam objek Application dan menyertakan

nama

workbook

dan

nama

prosedurnya,

misalnya

:

 Application.Run “‘budget macros.xls’!Consolidate” .

Dengan klik objek button atau shape yang ditaruh di dalam worksheet. Button atau shape tersebut harus dipasang ke prosedur tertentu. Excel memiliki banyak objek yang bisa ditaruh ke dalam worksheet dan dipasang ke prosedur tertentu. Objek-objek tersebut terletak di dalam tiga toolbar, yaitu : toolbar Drawing toolbar Forms toolbar Control Toolbox

CATATAN … Objek yang terdapat dalam toolbar Forms berbeda dengan yang terdapat di dalam toolbar Control Toolbox. Objek yang terdapat di toolbar Control Toolbox adalah jenis objek ActiveX yang penggunaannya lebih umum (jumlahnya lebih banyak dan bisa digunakan dimana saja selain Excel), sedangkan objek yang terdapat di toolbar Forms hanya dapat digunakan di dalam Excel sekaligus untuk menjaga kompabilitas dengan Excel 5 dan Excel 95. Sebaiknya kita tidak menggunakan objek yang terdapat di dalam toolbar Control Toolbox jika belum mengerti tentang ActiveX.

Untuk memasang prosedur ke suatu button, lakukan langkah-langkah sebagai berikut : Pastikan toolbar Forms sudah aktif. Klik objek Button (tombol) di toolbar Forms. Geser atau klik di dalam worksheet untuk membuat objek button. Excel lalu akan menampilkan kotak dialog  Assign Macro (seperti gambar 2.3) dimana kita bisa memasang prosedur yang kita inginkan. Atau jika kita ingin melewatkan langkah ini, kita tetap bisa memasang prosedur ke objek yang bersangkutan dengan klik kanan lalu pilih Assign Macro…. Klik tombol OK. Sekarang jika kita mengarahkan kursor ke arah tombol tersebut, maka kursor akan berubah menjadi gambar tangan dan jika kita klik tombol tersebut maka prosedur yang kita pasang sebelumnya akan dijalankan. Untuk menambahkan sebuah objek shape, langkahnya kurang lebih sama dengan cara di atas hanya kita harus mengambilnya dari toolbar Drawing. Melaksanakan prosedur ketika suatu event  (kejadian) muncul. Yang dimaksud dengan event  adalah seluruh tindakan yang kita lakukan yang mengakibatkan adanya interaksi antara kita dengan program

Production Engineering Department

84

Programming in Microsoft Excel 2000 (dalam hal ini Excel). Misalnya ketika kita meng-klik suatu cell, maka event SelectionChange akan muncul. Ketika kita mengubah isi suatu cell, maka event Change akan muncul. Sebenarnya prosedur yang dibangkitkan oleh event  tertentu sudah disediakan oleh VBA, kita hanya tinggal menaruh program di dalamnya. Sekarang kita akan masuk ke contoh : “Kita ingin agar setiap ada perubahan data di cell A1, sejarah data-data yang pernah dibuat tercatat di kolom B”. Ikutilah langkah-langkah berikut ini : Aktifkan Visual Basic Editor. Klik dua kali pada worksheet—dimana terdapat cell A1 yang dimaksud—dalam Project Explorer , misalnya Sheet1.

Setelah Code Window  muncul, pilih Worksheet dari kotak daftar yang awalnya bertuliskan (General). Lalu pilih item Change (karena kita ingin menjalankan program ketika terjadi perubahan cell) dari kotak daftar yang awalnya bertuliskan SelectionChange . Masukkan kode program berikut. Private Sub Worksheet_Change(ByVal Target As Range) Static row As Integer If (Target.Address(False, False) = "A1") Then Range("B1").Offset(row, 0).Value = Range("A1").Value row = row + 1 End If End Sub

CATATAN … Parameter Target pada event di atas diciptakan secara otomatis oleh VBA yang jenisnya adalah objek Range. Untuk mendapatkan alamat Target kita bisa menggunakan properti Address yang syntax sederhananya adalah sebagai berikut : object .Address(rowabsolute,columnabsolute)

Jika rowabsolute atau columnabsolute diisi dengan True maka pengalamatan absolut akan diberikan (dengan tanda $) dan jika diisi dengan False maka pengalamatan relatif akan diberikan. Contoh : misalnya cell C5 dipilih : Target.Address(False,False) akan menghasilkan “C5” Target.Address(False, True) akan menghasilkan “$C5” Target.Address( True,False) akan menghasilkan “C$5” Target.Address( True, True) akan menghasilkan “$C$5”

Menjalankan suatu prosedur dari Immediate Window . Untuk menjalankan suatu prosedur, kita juga bisa melakukannya melalui Immediate Window  dengan mengetikkan langsung nama prosedurnya diikuti dengan argumen/parameternya lalu menekan Enter.

Bekerja Dengan Fungsi Berbeda dengan prosedur yang berfungsi untuk menjalankan tugas tertentu tanpa perlu mengembalikan nilai, fungsi akan menjalankan tugas tertentu dan juga mengembalikan nilai— sama seperti fungsi worksheet dalam Excel (seperti SUM atau AVERAGE) atau fungsi VBA. Sama seperti prosedur, fungsi juga dapat memiliki argumen/parameter. Tanpa panjang lebar, berikut adalah contoh fungsi yang digunakan untuk membalik suatu teks : Function Balik(Kalimat) As String Dim PanjangKalimat As Integer, I As Integer Balik = “”

Production Engineering Department

85

Programming in Microsoft Excel 2000 PanjangKalimat = Len(Kalimat) For I = PanjangKalimat To 1 Step –1 Balik = Balik & Mid(Kalimat, I, 1) Next I End Function

Perhatikan bahwa fungsi dimulai dengan kata Function dan bukannya Sub diikuti oleh nama fungsinya (Balik). Fungsi ini hanya menggunakan satu argumen ( Kalimat ).  As String menandakan bahwa hasil keluaran fungsi tersebut adalah jenis String. (Excel akan menggunakan jenis data Variant sebagai nilai yang dihasilkan jika t idak dispesifikasikan.) Fungsi Len digunakan untuk mendapatkan panjang suatu string. Sedangkan fungsi  Mid  digunakan untuk mendapatkan bagian tertentu dari suatu teks (fungsinya sama dengan fungsi worksheet Excel).

CATATAN … Jika kita ingin menciptakan suatu fungsi agar bisa digunakan dalam formula di worksheet, pastikan agar mereka terletak di dalam satu modul VBA. Jika kita menaruhnya di modul Sheet atau ThisWorkbook , maka fungsi tersebut tidak akan bisa digunakan.

Jika kita sudah membuat suatu fungsi, maka kita bisa menggunakannya dalam formula di worksheet seperti biasa, misalnya =Balik(A1) . Berikut adalah contoh penggunaannya : A B C 1 Excel lecxE 2 Kalimat Terbalik kilabreT tamilaK 3 Malam di Makam makaM id malaM 4 Kasur Rusak kasuR rusaK 5 12345.678 876.54321 6 TRUE eurT 7 Sekarang apa yang terjadi jika kita memasukkan formula =Balik(Balik(A1)) di cell C1 ? Untuk memanggil fungsi dari prosedur atau fungsi VBA lain caranya sama dengan memanggil prosedur hanya bedanya hasil dari fungsi tersebut harus dimasukkan ke variabel tertentu atau diarahkan ke masukkan lain misalnya sebagai argumen/parameter. Perhatikan contoh berikut ini untuk lebih jelasnya : Sub BalikKalimat() Masukkan = InputBox(“Masukkan Sembarang teks :”) MsgBox Balik(Masukkan) Kalimat = Balik(“Squall Leonhart”) MsgBox Kalimat End Sub

Mendeklarasikan Fungsi Fungsi dideklarasikan dengan kata Function yang syntax nya adalah sebagai berikut : [Private | Public][Static] Function name [(arglist)][As type] [instructions ] [name = expression ] End Function

Private

(opsional) menandakan bahwa fungsi yang bersangkutan hanya bisa diakses oleh prosedur/fungsi yang terletak pada modul yang sama. Fungsi juga tidak

Production Engineering Department

86

Programming in Microsoft Excel 2000 akan tampil di dalam kotak dialog Paste Function ketika kita bekerja dengan worksheet Excel. (opsional) menandakan bahwa fungsi yang bersangkutan bisa diakses oleh

Public

semua prosedur/fungsi di dalam modul yang berada pada workbook yang sama. Static

Secara default fungsi memiliki lingkup Public . (opsional) menandakan bahwa variabel yang terdapat pada fungsi nilainya tidak

Function name arglist

akan berubah walaupun proses di fungsi tersebut sudah selesai. menandakan awal fungsi. menandakan nama fungsi. (opsional) daftar variabel argumen/parameter, yang terdapat di dalam tanda

type instructions End Function

kurung. Gunakan koma untuk memisahkan argumen/parameter. (opsional) jenis data yang akan dikembalikan sebagai hasil fungsi. (opsional) perintah-perintah VBA. menandakan akhir fungsi.

CATATAN … Sama halnya seperti memaksa semua prosedur untuk bersifat Private, untuk memaksa semua fungsi bersifat Private (termasuk fungsi yang menyertakan kata Public ), tambahkan perintah Option Private Module pada awal modul sebelum fungsi pertama. Jika kita ingin berhenti secara paksa dari suatu prosedur, maka gunakan perintah Exit Sub. Sedangkan jika kita ingin berhenti secara paksa dari suatu fungsi, maka gunakan perintah Exit Function .

Menjalankan Fungsi Cara untuk menjalankan fungsi sama seperti menjalankan prosedur, diantaranya adalah : Menjalankan dari prosedur atau fungsi lain. Misalnya, kita sudah membuat fungsi SumArray , maka kita bisa memasukkan perintah pada salah satu prosedur/fungsi lain sebagai berikut : Total = SumArray(ArrayKu)

Perintah di atas akan menjalankan fungsi SumArray dengan argumen/parameter ArrayKu dan menghasilkan nilai yang dimasukkan ke variabel Total.

Memasukkannya ke dalam formula Excel. Sebelum kita menulis formula yang menggu-nakan fungsi yang kita buat, kita harus memastikan bahwa fungsi tersebut bisa diakses oleh worksheet (jangan memberikan perintah Private pada fungsi yang bersangkutan). Jika fungsi tersebut berada dalam satu workbook yang sama, tidak ada masalah dalam penggunaannya. Tetapi jika berada dalam workbook yang berbeda, kita harus ‘memberitahu’ Excel letak fungsi yang bersangkutan dengan cara mendahului nama fungsinya dengan nama workbooknya, m isalnya : =DataUmum.xls!HitungRunningStock(A1:A1000)

Perintah di atas akan menjalankan fungsi HitungRunningStock yang terdapat di dalam workbook DataUmum.xls . Jika kita perhatikan, fungsi yang kita buat dengan VBA tidak akan tampil di dalam daftar kotak dialog Macro ketika kita mengaktifkan menu Tools Macro Macros…. Sebagai tambahan, kita  juga tidak bisa menjalankan fungsi dengan cara memposisikan kursor di fungsi tersebut (ketika berada di dalam VB Editor) lalu memilih menu Run Run Sub/UserForm. Ini menjadikan kita agak sulit untuk menguji fungsi tersebut karena kita tidak bisa menjalankannya secara langsung. Satu cara yang cukup baik untuk menguji suatu fungsi adalah dengan membuat sebuah prosedur dan hanya menaruh perintah untuk menjalankan fungsi tersebut di dalamnya.

Production Engineering Department

87

Programming in Microsoft Excel 2000

Argumen/Parameter Prosedur/fungsi (selanjutnya kita sebut prosedur saja), seperti kita tahu, dapat memiliki argumen/parameter (selanjutnya kita sebut argumen saja).  Argumen adalah data yang dikirim untuk digunakan pada perintah yang terdapat dalam prosedur. Argumen dapat berupa : Variabel (termasuk array), misalnya : Call TampilkanData(ArrayData) ; Konstanta, misalnya : j = CariDeterminan(1, 3, 2) ; atau Objek, misalnya : HapusIsiSheet Sheet1 . Hubungan antara prosedur dan argumen dapat berupa sebagai berikut : Prosedur dapat tidak memiliki argumen, misalnya RAND; ‘Contoh fungsi tanpa argumen Function NamaUser() User = Application.UserName End Function

Prosedur dapat memiliki argumen dalam jumlah yang tetap, misalnya COUNTIF yang membutuhkan dua argumen; ‘Contoh prosedur dengan argumen Sub Ucapan(Nama As String) MsgBox “Selamat Datang ” & Nama End Sub

Prosedur dapat memiliki argumen yang jumlahnya tidak terbatas, misalnya SUM; dan ‘Contoh fungsi dengan argumen tak terbatas Function Total(ParamArray Nilai() As Variant) Dim I As Integer Total = 0 For I = 0 To Ubound(Nilai()) Total = Total + Nilai(I) Next I End Function Prosedur dapat memiliki argumen yang opsional, misalnya PMT yang memiliki dua argumen opsional. ‘Contoh prosedur dengan argumen opsional Sub Alamat(Jalan As String, Optional Kota As Variant, Optional Negara As Variant = "Indonesia") If IsMissing(Kota) And IsMissing(Negara) Then MsgBox Jalan ElseIf IsMissing(Kota) Then MsgBox Jalan & “ ” & Negara Else MsgBox Jalan & “ ” & Kota & “ ” & Negara End If End Sub

CATATAN … Jika kita menguji suatu fungsi melalui formula dalam worksheet dan menghasilkan nilai #VALUE!, maka fungsi kita memiliki kesalahan di dalamnya. Kesalahan ini bisa disebabkan oleh logical error  yang terdapat di dalam perintah kita atau mungkin juga karena kita memberikan argumen yang salah. Untuk lebih jelasnya mengenai penanganan kesalahan, lihat bagian “Penanganan Kesalahan”.

Antara Variabel Public dan Argumen Prosedur Pada bagian sebelumnya kita sudah mempelajari bagaimana menggunakan argumen sebagai penghubung antar prosedur. Sebenarnya terdapat cara lain untuk menghubungkan satu prosedur dengan prosedur lain, yaitu dengan menggunakan variabel Public . Perhatikanlah perbedaan kedua contoh berikut untuk lebih jelasnya : ‘Dengan menggunakan argumen Sub Prosedur1() Dim Bulan As Integer Bulan = 4 Call ProsesBulanan(Bulan) End Sub

‘Dengan menggunakan variabel Public Public Bulan As Integer Sub Prosedur2() Bulan = 4 ProsesBulanan End Sub Karena pada blok sebelah kanan variabel Bulan berjenis Public , maka secara otomatis prosedur ProsesBulan akan

mengenalnya dan kita bisa menghilangkan argumen y ang dibutuhkannya.

Production Engineering Department

88

Programming in Microsoft Excel 2000

By Value atau By Reference ? Sebagai informasi tambahan—sebuah argumen dapat dilewatkan ke prosedur dengan dua cara: by value atau by reference. Dengan melewatkan argumen by reference (default ) , VBA akan

memberikan alamat memori dimana variabel tersebut berada—sehingga jika terdapat perintah dalam prosedur yang mengubah isi argumen tersebut, maka perubahannya akan dibawa walaupun setelah keluar dari prosedur yang bersangkutan. Jika melewatkan argumen by value, VBA hanya akan mengirim duplikat variabel tersebut—sehingga jika terjadi perubahan isi, hasilnya tidak akan dibawa keluar prosedur tersebut. Untuk mengetahui perbedaannya lebih  jelas, buatlah empat prosedur di bawah ini dan jalankan PanggilByVal dan PanggilByRef : Sub ProcByVal(ByVal NilaiKu) MsgBox “Sebelum Proc =” & NilaiKu NilaiKu = NilaiKu + 10 MsgBox “Sesudah Proc =” & NilaiKu End Sub

Sub ProcByRef(NilaiKu) MsgBox “Sebelum Proc =” & NilaiKu NilaiKu = NilaiKu + 10 MsgBox “Sesudah Proc =” & NilaiKu End Sub

Sub PanggilByVal() Dim Nilai As Integer Nilai = 10 MsgBox “Sebelum Panggil =” & Nilai ProcByVal Nilai MsgBox “Sesudah Panggil =” & Nilai End Sub

Sub PanggilByRef() Dim Nilai As Integer Nilai = 10 MsgBox “Sebelum Panggil =” & Nilai ProcByRef Nilai MsgBox “Sesudah Panggil =” & Nilai End Sub

Contoh Prosedur dan Fungsi Fungsi di bawah ini digunakan untuk menghasilkan nama user yang aktif dengan mengakses properti UserName yang terdapat di dalam objek Application : Function User() User = Application.UserName End Function

Untuk menggunakannya dalam worksheet, kita hanya cukup memasukkan formula =User() dalam suatu cell. MsgBox “User yang aktif adalah ” & User() adalah

contoh penggunaan di dalam VBA. Fungsi di bawah ini digunakan untuk menghasilkan bilangan acak antara 0 hingga 1000 dengan menggunakan fungsi Rnd : Function Acak() Acak = Int(Rnd * 1000) End Function

Perlu diperhatikan bahwa nilai yang dihasilkan oleh fungsi di atas tidak akan berubah  jika ditaruh di dalam worksheet walaupun sudah dilakukan proses Recalculate. Berbeda dengan fungsi worksheet yang sudah disediakan oleh Excel, yaitu RAND().

Mengatur Proses Recalculation Suatu Fungsi Suatu fungsi VBA akan di-recalculate jika terjadi perubahan nilai pada argumen milik fungsi tersebut. Fungsi Acak sebelumnya tidak memiliki argumen, sehingga walaupun kita recalculate secara manual dengan menggunakan tombol F9, hasilnya tidak akan pernah berubah. Untuk memaksa suatu fungsi agar melakukan recalculate kita bisa menambahkan perintah Application.Volatile True. Volatile yang terdapat di dalam objek Application bisa diberi argumen True atau False . Jika argumennya diisi dengan

Production Engineering Department

89

Programming in Microsoft Excel 2000 True maka fungsi akan di- recalculate jika ada perubahan apa pun pada cell mana pun. Jika argumennya diisi dengan False

maka fungsi akan di-recalculate hanya jika terjadi perubahan nilai pada argumen fungsi yang bersangkutan. Jadi kita bisa memodifikasi fungsi sebelumnya menjadi seperti berikut jika ingin menghasilkan nilai yang berbeda-beda setiap ditekan tombol F9 : Function Acak() Application.Volatile True Acak = Int(Rnd * 1000) End Function

Dalam kasus ini, seorang manajer departemen Sales menghadapi kesulitan dalam menghitung komisi masing-masing sales terhadap hasil penjualannya per bulan. Perhitungannya didasarkan atas tabel berikut ini : Penjualan per Bulan

$0 - $9,999 $10,000 - $19,999 $20,000 - $39,999 $40,000+ Sebenarnya masalah di atas bisa diselesaikan

Komisi

8.0% 10.5% 12.0% 14.0% dengan menggunakan formula sederhana

sebagai berikut : =IF(AND(A1>=0,A1=10000,A1=20000,A1=40000,A1*0.14, 0))))

Hanya masalahnya, formula di atas terlalu sulit untuk dibaca jika sudah dimasukkan ke dalam worksheet karena Excel akan membuat formula di atas menjadi satu baris panjang. Dan satu lagi, formula tersebut agak sulit untuk dimodifikasi karena nilai komisinya tertanam secara konstan. Pendekatan lain yang lebih baik adalah dengan membuat fungsi sebagai berikut : Function KomisiSales(Penjualan) Const Komisi1 = 0.08, Komisi2 = 0.105, Komisi3 = 0.12, Komisi4 = 0.14 Select Case Penjualan Case 0 To 9999.99: KomisiSales = Penjualan * Komisi1 Case 10000 To 19999.99: KomisiSales = Penjualan * Komisi2 Case 20000 To 39999.99: KomisiSales = Penjualan * Komisi3 Case Is >= 40000: KomisiSales = Penjualan * Komisi4 End Select End Function

Kita bisa menggunakan fungsi di atas dalam worksheet seperti =KomisiSales(25000) atau menggunakannya di dalam prosedur VBA sebagai berikut : Sub TampilkanKomisi() Penjualan = Val(InputBox(“Masukkan Nilai Penjualan ($) :”)) Pesan = “Nilai Penjualan:” & vbTab & Format(Penjualan,“$#.##0”) & vbCrLf Pesan = Pesan & “Komisi:” & vbTab & Format(KomisiSales(Penjualan),“$#.##0”) Pesan = Pesan & vbCrLf & vbCrLf & “Mau Hitung Lagi ?” If (MsgBox(Pesan, vbYesNo) = vbYes) Then TampilkanKomisi End Sub

Hasilnya kurang lebih terlihat seperti gambar 2.7 di bawah ini.

Gambar 2.7  Hasil dari contoh prosedur di atas

Fungsi di bawah ini dapat digunakan untuk menggantikan fungsi worksheet SUM() yang akan menghitung seluruh komponen yang terdapat di dalam array : Function SumArray(List) As Double SumArray = 0 For Each Item In List

Production Engineering Department

90

Programming in Microsoft Excel 2000 If Application.IsNumber(Item) Then _ SumArray = SumArray + Item Next Item End Function

Fungsi IsNumber di atas akan memeriksa apakah suatu komponen ( Item) yang terdapat di dalam List berjenis bilangan atau bukan. Jika bilangan maka akan dijumlah ke SumArray .

Selanjutnya kita bisa membuat formula worksheet seperti =SumArray(A1:C10) atau membuat prosedur sebagai berikut : Sub BuatDaftarAcak() Dim Num(1 To 100) As Double For i = 1 To 100 Num(i) = Rnd * 1000 Next i MsgBox SumArray(Num) End Sub

Mungkin kita bertanya-tanya bagaimana jika fungsi kita menerima argumen yang salah dan kita ingin mengirim pesan kesalahan ke worksheet misalnya #N/A. Berikut adalah modifikasi dari fungsi terdahulu yang digunakan untuk membalik suatu teks : Function Balik(Kalimat) As Variant Dim PanjangKalimat As Integer, I As Integer If Application.WorksheetFunction.IsText(Kalimat) Then Balik = “” PanjangKalimat = Len(Kalimat) For I = PanjangKalimat To 1 Step –1 Balik = Balik & Mid(Kalimat, I, 1) Next I Else Balik = CVErr(xlErrNA) End If End Function

Pertama, akan dilakukan pemeriksaan terhadap argumen yang dimasukkan apakah jenis teks atau bukan (dengan menggunakan fungsi IsText). Jika jenisnya teks maka akan dilakukan proses yang sama dengan fungsi terdahulu. Jika bukan, maka akan dihasilkan nilai kesalahan dengan menggunakan fungsi CVErr dengan argumen xlErrNA. Argumen fungsi CVErr bisa diisi dengan konstanta nilai kesalahan xlErrDiv0 , xlErrNA , xlErrName , xlErrNull , xlErrNum , xlErrRef , atau xlErrValue .

Teknik Penanganan Kesalahan Ketika kita menjalankan suatu prosedur, kesalahan (error ) dapat muncul setiap saat—yang bahkan tidak kita perkirakan sebelumnya. Kesalahan ini termasuk kesalahan sintaksis ( syntax  errors) yang terjadi karena kita salah dalam memasukkan perintah VBA, ataupun kesalahan

yang terjadi ketika prosedur dijalankan ( run-time errors). Pada bagian ini, yang akan dibahas adalah penanganan run-time errors.

CATATAN … Agar penanganan kesalahan ini dapat bekerja, opsi Break on All Errors harus dimatikan. Untuk mengakses opsi ini masuk Tools Options… tab General . Jika kita menyalakan opsi Break on All Errors , maka VBA akan mengabaikan kode

penanganan kesalahan yang kita buat.

Production Engineering Department

91

Programming in Microsoft Excel 2000 Biasanya programmer selalu mengaktifkan opsi Break on Unhandled Errors .

Ketika error  terjadi, VBA biasanya berhenti dan menampilkan kotak dialog yang menampilkan kode kesalahan dan keterangan akan error  tersebut. Suatu program yang baik tidak akan membiarkan suatu pesan kesalahan terlihat oleh pengguna, melainkan akan ‘menangkap’  error  tersebut lalu mengambil tindakan tertentu. Sekurang-kurangnya program harus dapat menampilkan pesan kesalahan yang lebih dimengerti oleh pengguna daripada pesan yang diberikan oleh VBA.

‘Menangkap’ Error  Untuk menangkap error , kita bisa menggunakan perintah On Error yang memiliki dua teknik penggunaan, yaitu : Mengabaikan kesalahan yang ada dan mengizinkan VBA untuk melanjutkan proses. Kemudian pada perintah selanjutnya kita bisa menambahkan proses untuk menganalisa jenis kesalahan yang timbul dengan menggunakan objek Err, lalu mengambil tindakan tertentu jika diperlukan. Teknik ini menggunakan perintah On Error Resume Next . Melompat ke bagian khusus penanganan kesalahan untuk mengambil tindakan. Bagian ini biasanya diletakkan pada akhir suatu prosedur, dan ditandai dengan alamat ( label ). Teknik ini menggunakan perintah On Error Goto error_label . On Error Resume Next

92

Agar VBA mengabaikan suatu kesalahan dan melanjutkan ke proses berikutnya, tambahkan perintah berikut ini di awal suatu prosedur : On Error Resume Next

Beberapa error  mungkin dapat kita abaikan tanpa ‘memberitahu’ pengguna akan adanya suatu error . Tetapi mungkin kita ingin mengambil tindakan jika terjadi error -error  tertentu. Kita bisa

menggunakan objek Err yang memiliki properti Number (merupakan properti default ) untuk mendapatkan kode error  yang timbul. Lalu kita bisa menggunakan fungsi Error untuk mendapatkan keterangannya (bisa juga diakses melalui properti Description pada objek Err). Sebagai contoh, kedua baris perintah di bawah ini akan menampilkan pesan kesalahan yang kurang lebih sama dengan yang ditampilkan oleh VBA ketika terjadi suatu error : MsgBox “Error” & Err.Number & “: ” & Error(Err.Number)

atau MsgBox “Error” & Err & “: ” & Err.Description

Berikut adalah contoh prosedur yang memiliki penanganan kesalahan dengan menggunakan On Error Resume Next : Sub ProsesFormula() On Error Resume Next Selection.SpecialCells(xlFormulas, xlNumbers).Select If (Err 0) Then MsgBox “Tidak ada formula yang dipilih” Else ‘proses... End If End Sub

Production Engineering Department

Programming in Microsoft Excel 2000 Pada prosedur diatas jika nilai Err tidak sama dengan 0 (nol), maka telah terjadi kesalahan dan akan menampilkan pesan kesalahan. On Error Goto error_label

Selain cara di atas, VBA menyediakan satu teknik lagi yaitu dengan melompat ke bagian khusus yang menangani kesalahan. Agar VBA melakukan hal tersebut, perlu ditambahkan perintah berikut ini pada awal prosedur : On Error Goto error_label error_label di atas adalah blok alamat program penanganan kesalahan yang terletak dalam

prosedur yang sama. Perhatikan contoh berikut : Sub IsiNilai() On Error Goto tangani_error Selection.Value = 123 Exit Sub tangani_error: MsgBox “Tidak bisa mengisi nilai” End Sub

Prosedur di atas mencoba untuk mengisi nilai ke objek yang dipilih (Selection ). Jika yang dipilih bukan range atau suatu sheet dalam keadaan diproteksi, maka perintah Selection.Value = 123 akan menimbulkan kesalahan. Perintah On Error sebelumnya sudah menentukan bahwa jika terjadi kesalahan maka proses lompat ke tangani_error . Penggunaan Exit Sub ditujukan untuk proses yang berjalan lancar tanpa menimbulkan suatu kesalahan agar tidak masuk ke dalam blok penanganan kesalahan. Keuntungan dari penggunaan teknik ini dibandingkan dengan teknik sebelumnya adalah teknik ini memungkinkan untuk menulis satu penanganan kesalahan untuk keseluruhan prosedur, sedangkan dengan teknik sebelumnya kita harus menulis satu penanganan kesalahan untuk setiap perintah yang memiliki kemungkinan terjadinya kesalahan. Untuk lebih jelasnya perhatikan contoh berikut : ‘contoh dengan on error resume next Sub ErrorDemo1() Dim Nilai As Integer Dim Kondisi As Boolean On Error Resume Next Nilai = “Salah” If (Err.Number 0) Then _ MsgBox “Salah mengisi nilai” Err.Clear Kondisi = “Benar” If (Err.Number 0) Then _ MsgBox “Salah mengisi nilai” End Sub

‘contoh dengan on error goto ... Sub ErrorDemo2() Dim Nilai As Integer Dim Kondisi As Boolean On Error Goto periksa Nilai = “Salah” Kondisi = “Benar” Exit Sub periksa: If (Err.Number 0) Then _ MsgBox “Salah mengisi nilai” Err.Clear Resume Next End Sub

CATATAN … Sebagian besar  programmer cenderung menggunakan teknik On Error Resume Next , walaupun Biasanya programmer selalu mengaktifkan opsi Break on Unhandled Errors .

Manfaat ‘Menangkap’ Kesalahan

Production Engineering Department

93

Programming in Microsoft Excel 2000 Terkadang, Terkadang, kita bisa mendapatka mendapatkan n keuntungan keuntungan dari ‘menangkap ‘menangkap’’ kesalahan kesalahan misalnya misalnya untuk mendapatkan informasi. Contoh berikut ini digunakan untuk memeriksa apakah suatu workbook sedang dibuka atau tidak : Sub CheckForFile1() Dim FileName As String, FileExist As Boolean Dim book As Workbook FileName = “BUDGET.XLS” FileExist = False For Each book In Workbooks If UCase(book.Name) = UCase(FileName) Then _ FileExist = True Next book If FileExist Then _ MsgBox FileName & “ sedang dibuka” Else _ MsgBox FileName & “ tidak sedang dibuka” End Sub

Pada prosedur di atas perintah For Each-Next akan melakukan looping proses untuk semua workbook yang sedang dibuka. Jika workbook yang dimaksud sedang dibuka (UCase(book.Name) = UCase(FileName) UCase(FileName) ) maka variabel FileExist diisi dengan nilai True. Prosedur di atas bisa

disusun ulang dengan menggunakan On Error Resume Next sebagai berikut : Sub CheckForFile2() Dim FileName As String, Temp As String On Error Resume Next FileName = “BUDGET.XLS” Temp = UCase(Workbooks(FileName).Name) If (Err = 0) Then MsgBox FileName & “ sedang dibuka” Else MsgBox FileName & “ tidak sedang dibuka” End If End Sub

Prosedur di atas mencoba untuk mengisi variabel Temp dengan nama dari workbook berdasarkan FileName . Jika workbook yang bersangkutan sedang dibuka maka tidak ada error  yang muncul

(Err = 0). Sebaliknya jika workbook yang bersangkutan tidak sedang dibuka maka error  akan muncul (Err 0).

Debugging Ketika Ketika kita membuat formula workseheet workseheet yang menggunakan menggunakan fungsi yang sudah sudah kita buat sebelumnya, run-time errors tidak akan muncul dalam bentuk kotak dialog, melainkan fungsi tersebut tersebut akan mengembalikan mengembalikan nilai nilai kesalahan kesalahan tersebut ke cell yang bersangkutan bersangkutan (misalny (misalnya a #VALUE #VALUE!). !). Untuk Untuk menga mengatas tasii hal terseb tersebut, ut, kita kita harus harus membet membetulk ulkan an fungsi fungsi terseb tersebut. ut. Tapi, Tapi, bagimana kita tahu letak kesalahannya ? Berikut adalah cara untuk mengetahuinya : Dengan menempatkan perintah MsgBox untuk menampilkan isi suatu variabel pada daerah yang

kita ‘curigai’. Lalu kita bisa menganalisa apakah isi variabel tersebut sudah benar atau belum. Jika belum maka pasti terjadi kesalahan pada proses-proses sebelumnya. Akan tetapi, kita sebelumnya harus memastikan terlebih dahulu bahwa hanya satu formula saja yang menggunakan fungsi yang bersangkutan, jika tidak maka MsgBox akan dijalankan sebanyak formula yang ada di worksheet—dan ini akan sangat mengganggu. Menguji fungsi dengan menjalankannya dari prosedur dan bukannya dari formula worksheet. Memasang breakpoint  pada perintah yang kita ‘curigai’, lalu melangkah perintah per perintah dan

mengamati dimana letak kesalahannya.

Production Engineering Department

94

Programming in Microsoft Excel 2000 Untuk memasang breakpoint, pilih baris perintah yang diinginkan lalu pilih menu Debug Toggle Breakpoint (F9) . Atau bisa juga dengan klik daerah abu-abu pada samping

kiri baris perintah. perintah. VBA kemudian kemudian akan menampilkan menampilkan baris baris tersebut tersebut dengan dengan warna warna merah. Lalu jalankan prosedur seperti biasa dan proses akan berhenti pada baris dimana kita memasang breakpoint  tersebut (baris perintah tersebut belum dijalankan). Dan kita bisa melangkah melangkah per perintah dengan memilih menu Debug

Step Into (F8) atau

menjalankan lagi secara normal. Menggunakan Menggunakan perintah Debug.Print di dalam prosedur untuk mencetak nilai suatu variabel dalam Immediate window . Sebagai contoh, jika kita ingin memantau nilai yang berada di dalam suatu loop,

kita bisa menambahkan perintah sebagai berikut : Function HitungVokal(Kalimat As String) As Integer Dim TotVokal As Integer, i As Integer, c As String * 1 TotVokal = 0 For i = 1 To Len(Kalimat) c = UCase(Mid(Kalimat, i, 1)) If (c Like “[AEIOU]”) Then TotVokal = TotVokal + 1 Debug.Print c, i End If Next i HitungVokal = TotVokal End Function

Jika kita menjalankan fungsi di atas dengan argumen “Gajah Tunggal”, maka Immediate Window kurang lebih akan menjadi seperti gambar 2.8. di bawah.

Gambar 2.8 Immediate Window ketika kode di atas dijalankan

LATIHAN recorder  maka hasilnya Ketika Ketika kita melakukan melakukan perekaman perekaman macro dengan dengan macro recorder 

adalah adalah seperti seperti di bawah ini. Ubahlah Ubahlah prosedur prosedur copy  di bawah ini menjadi menjadi lebih lebih sederhana lagi ! Sub Macro1() Range(“A1”).Select Selection.Copy Range(“B1”).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub Properti CurrentRegion milik objek Range digunakan untuk mendapatkan satu blok

range—yang range—yang dipisahkan dipisahkan oleh baris dan kolom kosong—dim kosong—dimana ana objek range range yang dimaksud terdapat di dalamnya. Jika dalam Sheet1 kita memiliki satu tabel yang dimula dimulaii dari dari cell cell A1 dan selal selalu u bertam bertambah bah barisn barisnya, ya, buatla buatlah h prosed prosedur ur untuk untuk melakukan proses copy  dari Sheet1 ke Sheet2 ! Jika butuh keterangan lebih lanjut, bukalah sistem Help VBA mengenai CurrentRegion !

Production Engineering Department

95

Programming in Microsoft Excel 2000 Jadikanl Jadikanlah ah prosedur prosedur yang sudah sudah dikerjaka dikerjakan n pada nomor 2 di atas bisa diakses melalui menubar , toolbar , dan shortcut Ctrl+Shift+* ! Buatlah fungsi yang menyerupai fungsi worksheet SUM() ! Range("B4").End(xlUp).Select

digunakan digunakan untuk memilih memilih cell paling atas—yan atas—yang g

berada berada pada pada daerah daerah yang sama sama dengan dengan cell cell B4—yan B4—yang g terdap terdapat at pada pada kolom kolom B. Range(ActiveCell, Range(ActiveCell, ActiveCell.End(xlDow ActiveCell.End(xlDown)).Selec n)).Select t digunakan digunakan untuk untuk memilih memilih

range mulai dari cell yang aktif hingga cell terbawah yang digunakan. Bisa kita simpulkan bahwa properti End bekerja persis seperti tombol End dalam Excel dan konstanta yang dapat digunakan adalah xlUp, xlDown , xlToLeft , dan xlToRight . Buatlah sekumpulan menu beserta programnya seperti terlihat pada gambar 2.9 di bawah ini ! Untuk informasi lebih lanjut, buka sistem Help yang ada di VBA ! Gambar 2.9 Menu yang harus dibuat untuk latihan nomor 5 

96

Sebagian besar koleksi objek di dalam VBA memiliki properti Count yang digunakan untuk mendapatkan jumlah objek yang terdapat dalam koleksi tersebut. Misalnya Selection.Cells.Count

digunaka digunakan n untuk untuk menghitun menghitung g jumlah jumlah cell yang sedang sedang

dipili dipilih. h. Sekara Sekarang ng buat buat sebuah sebuah tombol tombol di dalam dalam worksh worksheet eet lalu lalu buatla buatlah h sebuah sebuah prosedur untuk menganalisa jumlah cell yang dipilih, jumlah baris dan kolom yang dipilih, dan jumlah area yang dipilih ! Buatlah prosedur untuk menghapus baris yang tidak memiliki satu cell pun yang ada isinya atau semua cellnya kosong ! Buatlah fungsi yang mampu menghasilkan jenis data suatu cell atau range (dengan mengambil cell paling kiri atas) ! Buatlah prosedur atau fungsi untuk menghasilkan deret-deret berikut ini : 1, 2, 3, 4, 5, ……, 10 1, 3, 5, 7, 9, ……, 19 10 suku pertama dari 100, 95, 90, 85, 80, …… 10 suku pertama dari 7, 12, 20, 31, 45, 62, …… 1, 2, 4, 8, 16, ……, 1024 Program di bawah ini memiliki beberapa kesalahan. Perbaikilah program sehingga

Production Engineering Department

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF