Pembekalan MOS Excel Expert 2019 - Day 2
Pembekalan MOS Excel Expert 2019 - Day 2
Objective Domains
Manage workbook options and 1.1 Manage workbooks
1.1.1 Copy macros between workbooks
settings (15-20%)
1.1.2 Reference data in other workbooks
1.1.3 Enable macros in a workbook
1.1.4 Manage workbook versions
1.2 Prepare workbooks for collaboration
1.2.1 Restrict editing
1.2.2 Protect worksheets and cell ranges
1.2.3 Protect workbook structure
1.2.4 Configure formula calculation options
1.2.5 Manage comments
1.3 Use and configure language options
1.3.1 Configure editing and display languages
1.3.2 Use language-specific features
Manage and format data (20-25%) 2.1 Fill cells based on existing data
2.1.1 Fill cells by using Flash Fill
2.1.2 Fill cells by using advanced Fill Series options
2.2 Format and validate data
2.2.1 Create custom number formats
2.2.2 Configure data validation
2.2.3 Group and ungroup data
2.2.4 Calculate data by inserting subtotals and totals
2.2.5 Remove duplicate records
2.3 Apply advanced conditional formatting and filtering
2.3.1 Create custom conditional formatting rules
2.3.2 Create conditional formatting rules that use
formulas
2.3.4 Manage conditional formatting rules
Create advanced formulas and 3.1 Perform logical operations in formulas
3.1.1 Perform logical operations by using nested
macros (30-35%)
functions including the IF(), IFS(), SWITCH(), SUMIF(),
AVERAGEIF(), COUNTIF(), SUMIFS(), AVERAGEIFS(),
COUNTIFS(), MAXIFS(), MINIFS(), AND(), OR(), and
NOT() functions
3.2 Look up data by using functions
3.2.1 Look up data by using the VLOOKUP()
HLOOKUP(), MATCH(), and INDEX() functions
3.3 Use advanced date and time functions
3.3.1 Reference date and time by using the NOW() and
TODAY() functions
3.3.2 Calculate dates by using the WEEKDAY() and
WORKDAY() functions
3.4 Perform data analysis
1
3.4.1 Summarize data from multiple ranges by using
the Consolidate feature
3.4.2 Perform what-if analysis by using
Goal Seek and Scenario Manager
3.4.3 Forecast data by using the
3.4.4 Calculate financial data by using the PMT()
function
3.5 Troubleshoot formulas
3.5.1 Trace precedence and dependence
3.5.2 Monitor cells and formulas by using the Watch
Window
3.5.3 Validate formulas by using error checking rules
3.5.4 Evaluate formulas
3.6 Create and modify simple macros
3.6.1 Record simple macros
3.6.2 Name simple macros
3.6.3 Edit simple macros
Manage advanced charts and tables 4.1 Create and modify advanced charts
4.1.1 Create and modify dual axis charts
(25-30%)
4.1.2 Create and modify charts including Box &
Whisker, Combo, Funnel, Histogram, Map, Sunburst,
and Waterfall charts
4.2 Create and modify PivotTables
4.2.1 Create PivotTables
4.2.2 Modify field selections and options
4.2.3 Create slicers
4.2.4 Group PivotTable data
4.2.5 Add calculated fields
4.2.6 Format data
4.3 Create and modify PivotCharts
4.3.1 Create PivotCharts
4.3.2 Manipulate options in existing PivotCharts
4.3.3 Apply styles to PivotCharts
4.3.4 Drill down into PivotChart details
2
Table of Contents
3
1. VBA Arithmetic Operators
Fungsi aritmatika adalah suatu fungsi matematika sederhana pada Microsoft Excel yang terdiri dari
penjumlahan,pengurangan,perkalian,pembagian, dan perpangkatan.
Sehingga Operasi aritmatika adalah operasi yang diwakili oleh simbol:
• Penjumlahan (+)
• Pengurangan (-)
• Perkalian (*)
• Pembagian (/)
• Modulus (sisa hasil bagi) (%)
• Perpangkatan (^)
Studi Kasus 1 :
Membuat tombol yang dapat menghitung operasi matematika
3. Ketika tombol tersebut ditekan, munculkan Message Box yang melakukan perhitungan operasi
aritmatika sebagai berikut.
• Penjumlahan
• Pengurangan
• Perkalian
• Pembagian
• Modulus (sisa hasil bagi)
• Pangkat bilangan
4
Kode pada tombol click :
5
Studi Kasus 2 :
Buatlah sebuah module yang berisi sub arithmetics seperti pada contoh dibawah
1. Lakukan Langkah yang sama seperti sebelumnya dengan kode sebagai berikut
Dim x As Integer
Dim y As Integer
Dim z As Double
x = 10
y = 3
z = x + y
Range("A1").Value = z
z = x - y
Range("A2").Value = z
z = x * y
Range("A3").Value = z
z = x / y
Range("A4").Value = z
z = x Mod y
Range("A5").Value = z
z = x ^ y
Range("A6").Value = z
z = -x
Range("A7").Value = z
End Sub
6
2. VBA Operasi String
Operasi string adalah operasi pengaturan untuk teks.
7
Studi Kasus - Mid
Digunakan untuk mengekstrak karakter dari Tengah.
Parameter: start index dan jumlah karakter
8
Studi Kasus - Reverse String
Reverse string digunakan untuk membalikkan urutan huruf string dari belakang ke depan
3. Operator Logika
3.1. If-Else
Operator logika digunakan untuk menilai sebuah kondisi apakah bernilai benar atau tidak.
Bahasa Indonesia: jika … maka …
• Jika benar, maka lakukan statemen di dalamnya
• Jika salah, maka abaikan
Format If-Else
9
Kode pada tombol :
nilai = Range("C2").Value
Range("D2").Value = "Lulus"
Range("D2").Interior.Color = vbGreen
Else
Range("D2").Interior.Color = vbRed
End If
End Sub
Hasil Program :
3.2. Select-Case
Select-case merupakan variasi lain kode program untuk mengecek suatu nilai dimana memiliki pola
yang sama seperti if-else.
Kode program sebelumnya dapat diganti menjadi select-case
10
Format Select-case
nilai = Range("C3").Value
Case Is >= 60
Range("D3").Value = "Lulus"
Range("D3").Interior.Color = vbGreen
Case Is < 60
Range("D3").Interior.Color = vbRed
Case Else
End Select
End Sub
11
3. Hasil adalah sebagai berikut
4. Perulangan / Looping
4.1. Standard Looping
1. Looping/perulangan merupakan metode untuk menjalan rangkaian instruksi/step secara
berulang dan terus menerus sampai semua kondisi yang diharapkan terpenuhi.
2. Kondisi:
a. Kondisi awal
b. Kondisi akhir
a. For loop
b. Do until loop
4. Pada perulangan ini, rangkaian instruksi/step akan dijalankan secara berulang sesuai dengan
batas yang ditentukan.
Next <variable>
Studi Kasus 1:
Menampilkan angka sebanyak 10 kali di message box
1. Pada studi kasus ini, akan ditampilkan message box sebanyak 10 kali dengan menggunakan for
loop.
2. Pada worksheet yang sedang dibuka, klik kanan pilih view code.
4. Tambahkan kode berikut dan coba jalankan dengan menekan tombol play hijau.
12
Sub For_Loop1()
Dim a As Integer
For a = 1 To 10
MsgBox a
Next
End Sub
Studi Kasus 2:
Menampilkan angka berurutan 1 sampai 10 di message box
1. Studi kasus yang kedua, kita akan mencoba menampilkan angka 1 sampai 10 pada cell (A1:A10)
di worksheet.
2. Tambahkan sub baru di bawah sub sebelumnya, dan tambahkan kode sebagai berikut.
Sub For_Loop2()
Dim x As Integer
For x = 1 To 10
Cells(x, 1).Value = x
Next
End Sub
3. Untuk menjalankan, seleksi kode program tersebut, dan tekan tombol play hijau.
13
Studi Kasus 3:
Buatlah kode yang menampilkan 10 bilangan genap pertama
1. Membuat kode yang menampilkan 10 bilangan genap pertama pada cell A1:A10
Sub For_Loop3()
Dim x As Integer
For x = 1 To 10
Cells(x, 1).Value = x * 2
Next
End Sub
Studi Kasus 4:
Membuat angka berulang di dua kolom dengan Nested Loop
1. Kita akan mengisi baris 1-6 pada kolom A dan B dengan angka 90.
14
Sub Nested_For1()
Dim i As Integer, j As Integer
For i = 1 To 6
For j = 1 To 2
Cells(i, j).Value = 90
Next j
Next i
End Sub
5. VBA Function
Function VS Sub
1. Sub adalah sebuah sub-routine yang tidak mengembalikan hasil operasi perhitungan
3. Biasanya untuk function yang sering digunakan kita simpan di dalam module
Struktur Fungsi
2. …
4. END FUNCTION
15
Input Function Output
1. Buatlah sebuah fungsi yang dapat digunakan untuk mengalikan dua buah bilangan X dan Y.
Area = x * y
End Function
Dim z As Double
z = Area(3, 5)
MsgBox z
End Sub
16
Struktur Sub
2. …
3. …
4. END SUB
1. Buatlah program yang dapat digunakan untuk mengalikan dua buah bilangan dan menampilkan
hasilnya dalam MessageBox dengan menggunakan sub
a. Pada modul yang telah dibuat sebelumnya, tambahkan sub dengan kode sebagai berikut.
MsgBox x * y
End Sub
b. Pada Sheet 1, tambahkan tombol dan kode berikut untuk menjalankan sub
Area2 10, 20
End Sub
17
6. Form
Controls (ActiveX Controls)
1. Kontrol di Excel (pada menu insert) dapat ditambahkan di seluruh bagian pada worksheet Excel
yang dapat digunakan untuk mengontrol data secara spesifik.
2. Secara default terdapat dua jenis control yakni Form Controls dan ActiveX Controls.
b. ActiveX controls merupakan kontrol dalam bentuk activeX. ActiveX itu sendiri merupakan
sebuah program kecil yang dikembangkan agar dapat ditambahkan pada program besar lain.
4. Untuk menambahkan controls dapat dilakukan dengan menekan salah satu kontrol yang
diinginkan, lalu meletakkan di sembarang lokasi pada worksheet.
18
Studi Kasus 1 :
Membuat Tombol
2. Klik kanan, pilih properties untuk melakukan pengaturan terhadap tombol tersebut.
3. Ganti nama tombol menjadi nama yang mendeskripsikan tombol tersebut. Misal: tombol hitung
untuk menghitung nilai, tombol clear untuk menghapus data, dsb.
4. Caption dapat digunakan untuk mengubah nama yang muncul di atas tombol.
19
5. Untuk menambahkan aksi pada tombol, tekan 2 kali pada tombol. Sehingga akan muncul VBA
Editor sebagai berikut. Pastikan Design Mode dalam keadaan aktif.
7. Lakukan pengecekan dengan menon-aktifkan Design Mode dan tekan tombol Hitung
20
Studi Kasus 2 :
Membuat ComboBox
a. LinkedCell: G3
b. ListFillRange: $A$2:$A$10
3. Jika anda memilih 1 kota, maka akan dimunculkan kota terpilih do cell G3
21
Studi Kasus 3 :
Membuat CheckBox
22
Studi Kasus 4 :
Membuat Scroll Bar
3. Non-aktifkan Design Mode, silakan geser tombol sehingga cell J4 akan berisi nilai yang sesuai.
Studi Kasus 5 :
Membuat Spin Button
3. Non-aktifkan Design Mode, dan tekan salah satu panah pada spin button.
23
User Form
1. Untuk menambahkan user form, buka VBA Editor, dan gunakan menu insert >> user form
2. Buatlah tampilan sebagai berikut. Anda dapat menggunakan toolbox yang disediakan.
3. Dari tampilan form yang telah dibuat, tambahkan identitas untuk masing-masing elemen form
berupa nama untuk memudahkan akses pada program VBA.
4. Klik kanan elemen form yang akan diberi nama, misal Label, atau TextBox, pilih Properties
24
5. Pada kolom properties, ubah nama pada kolom isian (Name)
6. Nama dari elemen tersebut disesuaikan dengan fungsi atau kegunaan dari label tersebut.
1. LabelNama
2. TextBoxNama
25
8. Pada worksheet yang akan digunakan untuk menampilkan data, tambahkan tombol untuk
menampilkan kotak dialog.
9. Tambahkan kode berikut pada tombol tersebut. Sehingga apabila tombol diklik, form akan
muncul.
UserForm1.Show
Sheet12.Activate
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
Else
End If
End Sub
26
Catatan :
OptionButtonCB.Value = False
OptionButtonCK.Value = False
End Sub
15. Simpan pekerjaan anda, dan lakukan pengecekan terhadap hasilnya. Apakah data telah tertulis
di baris pada worksheet atau tidak.
27
Tambahan :
Form Control
1. Kontrol form di Excel dapat ditambahkan di seluruh bagian pada worksheet Excel yang dapat
digunakan untuk mengontrol data secara spesifik.
b. ActiveX controls merupakan kontrol dalam bentuk activeX. ActiveX itu sendiri merupakan
sebuah program kecil yang dikembangkan agar dapat ditambahkan pada program besar lain.
4. Untuk menambahkan Form controls dapat dilakukan dengan menekan salah satu kontrol yang
diinginkan, lalu meletakkan di sembarang lokasi pada worksheet.
28
Studi Kasus 1 :
Membuat Tombol
4. Tekan New.
29
5. Selanjutnya akan dimunculkan editor untuk mengetikkan program VBA
6. Untuk mengganti nama yang muncul pada tombol, klik kanan, pilih Edit Text.
Sehingga kita dapat merubah nama Button 1 menjadi nama yang telah kita sesuaikan.
7. Untuk menambahkan aksi pada tombol, tambahkan kode berikut pada editor VBA
30
Sub Button1_Click()
MsgBox ("Tombol saya ditekan")
End Sub
8. Simpan.
Studi Kasus 2 :
Membuat Combo box
1. Kita dapat menambahkan sekumpulan data ke dalam sebuah kolom yang dapat dipilih oleh
pengguna dengan menggunakan combo box.
2. Selanjutnya, akan dipelajari cara menambahkan data pada combo box tersebut.
31
4. Klik kanan pada combo box, pilih Format Control
7. Tekan OK
32
Studi Kasus 3 :
Membuat Check box
1. Digunakan untuk menampilkan item terpilih. Jika data terpilih, maka akan ditampilkan data
tertentu.
3. Klik kanan, pilih Edit Text. Ganti nama check box menjadi Option
4. Untuk menambahkan aksi pada check box, klik kanan pada check box pilih format control
33
Studi Kasus 4 :
Membuat Spin Button
3. Buka tab control, tambahkan pengaturan terkait nilai minimal, maksimal, dan nilai
tambah/kurang setiap tombol ditekan.
5. Sekarang jika anda menekan tombol ke atas, maka nilai akan bertambah 1.
34
6. Sedangkan jika anda menekan tombol ke bawah, maka nilai akan berkurang 1.
Studi Kasus 5 :
Membuat Scroll Bar
4. Sehingga jika anda menggeser scroll bar, nilai pada cell A2 akan berubah sebagai berikut.
35