Kira-kira apakah teman-teman sudah tahu apakah gunanya atau manfaatnya belajar visual basic for application atau disingkat VBA pada Excel?
Jika belum tahu, VBA excel macro digunakan untuk membantu pekerjaan rutinitas sehari-hari dengan memakai aplikasi microsoft excel sehingga pekerjaan dapat diselesaikan dengan cepat tanpa harus melakukan manual.
Bukan hanya itu, VBA excel dapat digunakan untuk memecahkan permasalahan secara cepat dan akurat bergantung dari kebutuhan setiap orang, entah dari menyimpan dan memberi nama file, mencari angka tertentu, mencari data-data dengan format tertentu dll dengan hanya beberapa kali atau satu kali klik tombol saja.
Berikut adalah beberapa sebagian kode VBA dasar (diambil dari bab3 Cara Asik Bikin Tool Sendiri, yang mungkin paling banyak digunakan, beberapa kode ini dapat diedit dan digabungkan menjadi suatu rangkaian command sehingga mempercepat dan mempermudah pekerjaan kita.
3.1 Membuka File
3.3 Menulis rumus di cell tertentu :
3.4 Copy Paste Value dan Escape :
3.5
Copy Paste Cell ke Cell lain di sheet yang sama
3.6
Copy Paste Cell ke Cell di worksheet / sheet lain
3.7 Melakukan filter (dalam hal ini bilangan 00 sampai 07) :
3.8 Memfilter kriteria tertentu dan mengcopy ke cell yang
diinginkan
3.9 Membuat monitor layar kita tidak mengikuti proses
pergerakan VBA
3.10 Menghapus semua isi baris tertentu yang dikehendaki :
3.11 Rumus Menghitung jarak antar koordinat :
3.12 Memberikan pesan pop up selesai plus informasi
3.13
Menentukan baris paling terakhir
3.14 Menampilkan status VBA sedang running
3.15 Menyimpan file di tempat yang dikehendaki
Belum paham?
ya belum paham jika anda tidak sambil mempraktekkannya pada lembar kerja VBA dari excel anda.
Panduan dasar yang membantu anda dapat membuat sendiri tool dari VBA Excel atau belajar excel dengan mudah dan menyenangkan melalui ebook + elearning dapat dilihat di website ini http://diapps.my.id/vbabasic
Semoga dapat membantu membuat pekerjaan excel menjadi lebih cepat, akurat, dan efektif.
Have fun with your code.
belajar macro excel pdf
cara membuat macro di excel 2013
contoh macro excel
fungsi vba
belajar excel dasar
cara membuat aplikasi excel untuk database
kumpulan kode vba excel
belajar visual basic
belajar excel
Jika belum tahu, VBA excel macro digunakan untuk membantu pekerjaan rutinitas sehari-hari dengan memakai aplikasi microsoft excel sehingga pekerjaan dapat diselesaikan dengan cepat tanpa harus melakukan manual.
Bukan hanya itu, VBA excel dapat digunakan untuk memecahkan permasalahan secara cepat dan akurat bergantung dari kebutuhan setiap orang, entah dari menyimpan dan memberi nama file, mencari angka tertentu, mencari data-data dengan format tertentu dll dengan hanya beberapa kali atau satu kali klik tombol saja.
Berikut adalah beberapa sebagian kode VBA dasar (diambil dari bab3 Cara Asik Bikin Tool Sendiri, yang mungkin paling banyak digunakan, beberapa kode ini dapat diedit dan digabungkan menjadi suatu rangkaian command sehingga mempercepat dan mempermudah pekerjaan kita.
3.1 Membuka File
Workbooks.Open Filename:= _
"D:\Folderutama\Subfolder1 \Subfolder2\namafileanda.xls"
(penjelasan : serangkaian perintah di atas maksudnya
adalah macro akan membuka file yang kita inginkan, tapi sebelumnya kita harus
tahu dulu letak file tersebut secara detil di bagian drive dan folder apa.
Seperti pada contoh, saya membuka pada drive D dan ada di folder utama lalu
masuk ke bagian subfolder1 dan subfolder2 dengan file name namafileanda.xls)
3.2 Menampilkan pilihan kotak yes no
:
Msg
= "Sudah Update GCELL?"
Style = vbYesNo + vbQuestion +
vbDefaultButton2
response = MsgBox(Msg, Style)
If response = vbYes Then
MsgBox
("ok sip, lanjutkan")
Else MsgBox
("hapus dahulu baris yang kosong")
End If
(penjelasan : serangkaian perintah di
atas maksudnya adalah ketika macro dijalankan maka akan muncul window notifikasi
berisi pilihan yes atau no. Jika anda mengklik yes maka akan muncul pesan ok
sip lanjutkan, dan jika yang diklik no maka akan muncul pesan hapus dahulu
baris yang kosong)
Perhatikan
juga fungsi IF di atas selalu dibarengi dengan THEN lalu ELSE (jika ada kondisi
lain) dan ditutup dengan END IF. Anda dapat memvariasikannya dengan perintah
lainnya, misalnya jika Yes maka akan melakukan suatu pekerjaan A sedangkan jika
No maka pekerjaan B.
3.3 Menulis rumus di cell tertentu :
Cells(3,
6).Value = "=LEFT(R[-1]C[-4],3)"
(penjelasan : Maksudnya adalah
menuliskan rumus Left pada cell ke atas minus satu dan ke kiri minus 4 dan
ambil sebanyak 3 karakter) Agar tidak bingung, sebenarnya buat dahulu rumusnya
di excel, lalu ubah option ke R1C1 reference style, dan tinggal copy deh
formula di kotak tadi yang kita ketik. Lihat gambar berikut :
1. Ketik
formula anda pada cell yang anda inginkan, contoh di F3, jika lupa apa itu
formula left silahkan simak bab 1 ya.
2. Ubah
formulas pada tab File - Option- Formulas, lalu centang R1C1 reference style
dan klik OK
3.
Sekarang kembali
pada sheet excel anda dan lihat perubahan formulanya menjadi RC. Formula inilah
yang anda ketikkan pada isi program VBA tadi. Oh ya setelah anda selesai
menggunakan formulanya, jangan lupa untuk mengembalikan ke awal ya, dengan
un-centang tanda R1C1 tadi.
Hasil dari formula di atas yang sebenarnya adalah
=LEFT(B2,3) adalah lak
3.4 Copy Paste Value dan Escape :
Selection.Copy
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
(penjelasan : Bahasa di atas maksudnya
adalah mengcopy cell yang saat itu sedang terselect dan mempaste value di
tempat cell yang sama, biasanya ini digunakan untuk menghilangkan formula, lalu
application.cutcopymode = false maksudnya adalah kita menekan keyboard yang
tulisannya Esc, tau kan? Di keyboard ujung atas sebelah kiri.) Btw Bahasa di atas
adalah hasil dari record macro, nah sekarang saya infokan Bahasa simple untuk
copy paste normalnya.
3.5
Copy Paste Cell ke Cell lain di sheet yang sama
Range("B2").Copy
Range("H1")
(penjelasan : ini untuk copy cell B2
dan mem-paste ke cell H1 di sheet yang sama)
3.6
Copy Paste Cell ke Cell di worksheet / sheet lain
Worksheets("Sheet1").Range("A1").Copy
Worksheets("Sheet2").Range("A1")
(penjelasan : ini untuk copy cell A1 di
sheet1 dan mem-paste ke cell A1 di sheet yang berbeda bernama Sheet2)
3.7 Melakukan filter (dalam hal ini bilangan 00 sampai 07) :
ActiveSheet.Range("$A$1:$S$100").AutoFilter
Field:=6, Criteria1:=Array( _
"00", "01",
"02", "03", "04", "05", "06",
"07"), Operator:=xlFilterValues
(penjelasan :
filter kolom ke 6 dari range A1
sampai S100 yang isinya bilangan 00 sampai 07. Ini adalah hasil dari record
macro, jika anda bingung dapat melakukan record macro untuk melihat hasil
VBAnya)
3.8 Memfilter kriteria tertentu dan mengcopy ke cell yang
diinginkan
Sub cobafiltercopy()
Range("Master").AdvancedFilter
Action:=xlFilterCopy, criteriaRange:=Range("Kriteria"),
CopyToRange:=Range("Hasil"), Unique:=False
End Sub
(penjelasan : Master adalah range sumber data yang
sudah kita ubah (dapat anda ganti menjadi range(“A1:C13”), Kriteria adalah apa
yang ingin dIfilter, dan Hasil adalah tempat cell hasil dari copy-an yang sudah
dIfilter tadi)
Contoh Ini master databasenya :
Hasilnya untuk kriteria laki laki adalah :
3.9 Membuat monitor layar kita tidak mengikuti proses
pergerakan VBA
Tambahkan ini di depan program >
application.screenupdating = false
Kemudian di akhir program tambahkan >
application.screenupdating = true
3.10 Menghapus semua isi baris tertentu yang dikehendaki :
Sub
hapusbaris()
Dim
lastrow As Integer
Sheets("hapus
baris").Select
lastrow = Cells(Cells.Rows.Count,
1).End(xlUp).Row
For i = lastrow To 2 Step -1
If (Cells(i, 1).Value) = "xx"
Then
Cells(i, 1).EntireRow.Delete
End If
Next i
MsgBox ("Finish")
End
Sub
(penjelasan
: menghapus semua baris dari semua kolom 1 dikerjakan dari paling bawah yang
ada text xx nya, lastrow adalah kalimat bebas yang kita tentukan sendiri yang
penting ada artinya yah, dalam hal ini yaitu baris terakhir. Jadi karena baris
terakhir adalah bentuk angka maka saya dimensioningkan ke dalam bentuk integer,
btw penjelasan soal Dim, integer, string, dan kawan-kawan nanti ya akan dibahas
juga.) Satu lagi jika anda tidak ingin mendelete baris tersebut namun hanya
ingin menghapusnya, maka ganti baris kode Cells(i,
1).EntireRow.Delete dengan Cells(i, "1").EntireRow.ClearContents
3.11 Rumus Menghitung jarak antar koordinat :
Sebelum
ke Bahasa macro, kita definisikan dulu formula excel biasanya seperti ini :
=6371*ACOS(COS(RADIANS(90-D2))*COS(RADIANS(90-$F$2))+SIN(RADIANS(90-D2))*SIN(RADIANS(90-$F$2))*COS(RADIANS(C2-$E$2)))
(penjelasan
: jangan pusingkan angkanya darimana, yang perlu anda ubah adalah cellnya
disesuaikan dengan tempat cell anda mengetik formulanya. Di contoh D2 dan F2
adalah latitude site 1 dan latitude site 2, sedangkan C2 dan E2 adalah longitude
site 1 dan site 2.)
Kemudian
anda dapat memasukkan ke dalam VBA seperti ini, misalnya anda ingin hasil
jaraknya ditulis di cell/range G2 :
Range("G2").Formula
=
=6371*ACOS(COS(RADIANS(90-D2))*COS(RADIANS(90-$F$2))+SIN(RADIANS(90-D2))*SIN(RADIANS(90-$F$2))*COS(RADIANS(C2-$E$2)))"
Hasil
yang keluar adalah dalam bentuk kilometer, itulah selisih jarak antar kedua
koordinat.
3.12 Memberikan pesan pop up selesai plus informasi
MsgBox
"Done!" & vbCrLf & vbCrLf & "by namakamu" &
vbCrLf & "emailkamu", vbInformation, "note"
(penjelasan : anda dapat mengganti bagian nama,email,dan note)
3.13
Menentukan baris paling terakhir
lastrow
= Cells(Cells.Rows.Count, 1).End(xlUp).Row
(penjelasan
: 1 adalah kolom yang hendak dicari baris paling terakhirnya dan jangan lupa
dimensioningkan dulu lastrownya sebagai integer atau long)
3.14 Menampilkan status VBA sedang running
Application.DisplayStatusBar = True
Application.StatusBar = "Searching..."
Application. StatusBar = False
(penjelasan : sebaiknya tidak perlu ditambahkan karena malah membuat program berjalan lebih lambat)
3.15 Menyimpan file di tempat yang dikehendaki
Ini sebagai
.txt :
ActiveWorkbook.SaveAs
Filename:="D:\folderutama\subfolder1\subfolder2\" & "Nama
File Anda " + Format(Now(), "YYYYMMDD_hhmmss") _
& ".txt",
FileFormat:=xlText
Sebagai xlsx sama tinggal ganti aja “.txt”nya dan fileformatnya
ganti xlOpenXMLWorkbook :
ActiveWorkbook.SaveAs
Filename:="D:\folderutama\subfolder1\subfolder2\" & "Nama
File Anda " + Format(Now(), "YYYYMMDD_hhmmss") _
& ".xlsx", FileFormat:=xlOpenXMLWorkbook
(Penjelasan : arahkan secara detil ingin di-save di drive mana dan
folder mana, anda tinggal mengganti bagian ini D:\folderutama\subfolder1\subfolder2\" & "Nama File Anda
Belum paham?
ya belum paham jika anda tidak sambil mempraktekkannya pada lembar kerja VBA dari excel anda.
Panduan dasar yang membantu anda dapat membuat sendiri tool dari VBA Excel atau belajar excel dengan mudah dan menyenangkan melalui ebook + elearning dapat dilihat di website ini http://diapps.my.id/vbabasic
Semoga dapat membantu membuat pekerjaan excel menjadi lebih cepat, akurat, dan efektif.
Have fun with your code.
belajar macro excel pdf
cara membuat macro di excel 2013
contoh macro excel
fungsi vba
belajar excel dasar
cara membuat aplikasi excel untuk database
kumpulan kode vba excel
belajar visual basic
belajar excel
Silahkan berkomentar yang baik di sini :) (no junk)