-
BELAJARVBEXCEL
Sabtu, 07 Maret 2009
Beberapa Contoh Kode
AUTORUNAda beberapa cara untuk membuat macros yang kita
buat berjalan secara otomatis ketika pertama
kalimembukaworkbook. Yang pertama adalah Auto OpenMethod, yang
diletakkan di modules, kedua
adalahWorkbookOpenMethod,yangdiletakkandipadaobyekWorkbook(lihatpenjelasanpadalangkah3).DuaContohkode
berikut akan menampilkan pesan hi
ketikaWorkbookpertamakalidibuka.
SubAuto_Open()
Msgboxhi
EndSub
PrivateSubWorkbook_Open()
Msgboxhi
EndSub
MENGHITUNGROWS,COLUMNSDANSHEETKode berikut digunakan untuk
menghitung berapa
jumlahrows (baris)ataucolumns(kolom)yang
telahkitasorotdengankursor.
SubHitung()
hitung_baris=Selection.Rows.Count
hitung_kolom =
Selection.Columns.Count
MsgBox hitung_baris & " " &
hitung_kolom
EndSub
Subhitung_sheet()
hitung_sheet =
Application.Sheets.Count
Msgboxhitung_sheet
EndSub
MENGKOPIRANGEContohberikutakanmengkopirangeA1sampaiA3ke
0 Lainnya BlogBerikut [email protected] Dasbor Keluar
-
D1sampaiD3SubKopi_Range()
Range (A1:A3).Copy
Destination:=Range(D1:D3)
EndSub
WAKTUSEKARANGContohberikutakanmenampilkanwaktupadasaatini
Subsekarang()
Range(A1)=Now
EndSub
MENGETAHUIPOSISISELYANGSEDANGAKTIFSubposisi()
baris=ActiveCell.Row
kolom=ActiveCell.Column
Msgboxbaris&,&kolom
EndSub
MENGHAPUSBARISYANGKOSONGSubhapus_baris_kosong()
Rng=Selection.Rows.Count
ActiveCell.Offset(0,0).Select
Fori=1ToRng
IfActiveCell.Value=""Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1,0).Select
EndIf
NextI
EndSub
MenebalkandanMewarnaiHuruf(Font)Contoh berikut akan menebalkan
dan memberi warna
merahpadahurufdimanaselsedangaktif.Subtebal_merah()
Selection.Font.Bold=True
Selection.Font.ColorIndex=3
EndSub
MENGIRIMKANWORKBOOKMELALUIEMAILSubemail()
ActiveWorkbook.SendMail recipients:=
[email protected]
EndSub
-
FUNGSIEXCELMenggunakanfungsibawaanExceldalamVBEhampir
sama dengan menggunakannya dalam Excel. Misalfungsi round untuk
membulatkan sebuah angka,
dalamspreadsheetakanterlihatsepertiini
=round(1.2367,2)
Dalam VBE Anda cukup menggunakan
Applicationkemudiandisusulfungsiyangakandipakai.
Subbulat()
ActiveCell =
Application.Round(ActiveCell,2)
EndSub
MENGHAPUSNAMANAMARANGEContoh berikut akan menghapus semua
namanama
rangedidalamworkbookAndaSubhapus_nama_range()
DimNameXAsName
ForEachNameXInNames
ActiveWorkbook.Names(NameX.Name).Dele
te
NextNameX
EndSub
LAYARBERKEDIPProgram dalam macros yang sedang berjalan dapat
membuat layar berkedipkedip, untuk
menghentikannyaAndadapatmenyisipkankodeberikut.
Application.ScreenUpdating=False
MENUJURANGETERTENTUUntukmenuju suatu range tertentu, kodekode
berikut
dapatdigunakan.Application.GotoReference:=A1
Atau,Range(A1).Select
MENUJUSHEETTERTENTUSedangkanuntukmenujuworksheet tertentu,
gunakan
kodekodeberikut.Sheets(1).Select
AtauSheet1.Select
UntukmenujuSheetterdepan(nomor1)
-
Sheet(coba).Select
UntukmenujuSheetbernamacobaMENYEMBUNYIKANWORKSHEET
KodeberikutberfungsiuntukmenyembunyikanSheet1Sheet1.Visible=xlSheetVeryHidden
Pengguna tidak dapat membuka sheet yang
telahdisembunyikandengancaraini,hanyadengankodeVBEsheetdapatdibukakembali.
INPUTBOXKodeberikutbergunauntukmemunculkanInputBox
InputBox(MasukkanNama)
MENYISIPKANBARISDANKOLOMKodeberikutakanmenyisipkanbarisdiatasrangeA1,
Range(A1).Select
Selection.EntireRow.Insert
Sedang yang berikut akan menyisipkan satu
kolomdisampingkirirangeA1,
Range(A1).Select
Selection.EntireColumn.Insert
MENGATURULANGUKURANRANGESelection.Resize(7,7).Select
MEMBERINAMARANGESelection.Name=nama
MENYIMPANFILEKode berikut berguna untuk menyimpan file tanpa
memberinama,ActiveWorkbook.Save
SedangkanbilaAndahendakmemberinama(SaveAs),gunakankodeberikut,
ActiveWorkbook.SaveAs
Filename:=C:\coba.xls
PENJADWALANKadangkadang kita hendak menjadwalkan sebuah
tugas kepada Excel, contohnya menyimpan file padajamjam
tertentu. VBE dapat melakukannya denganmenggunakan fungsi
Application.OnTime. Sebagaicontoh, kode dibawah ini akan
menjalankan prosedurSimpan( ) pada jam 12:00 dan 16:00,
prosedurSimpan()sendiriberisiperintahuntukmenyimpanfile,
Subtugas()
-
Application.OnTime
TimeValue("12:00:00"),"Simpan"
Application.OnTime
TimeValue("16:00:00"),"Simpan"
EndSub
SubSimpan()
ActiveWorkbook.Save
EndSub
Bila Anda hendak merubah jamnya, missal jam10:03:05, maka rubah
TimeValue menjadiTimeValue(10:03:05).Sedangkan bila Anda
hendakmelakukannya satu jam
setelah prosedur tugas( ) dijalankan maka
rubahlahkodenyasepertidemikian,Subtugas()
Application.OnTimeNow+
TimeValue("01:00:00"),"Simpan"
EndSub
PerhatikanpenambahankataNow.Kodekodediatasbekerja bila disimpan
dalam module, bula Anda inginmenyimpannya di dalam Sheet1 (atau
worksheetmanapun), maka rubahlah Simpan menjadiSheet1.Simpan
Diposkan oleh Ben
Label: Excel, Macro, VB, VBA, Visual Basic, Visual Basic
ApplicationVB
25 komentar:
Wawan mengatakan...
Thanks penjelasannya sangat berharga bagi saya. saya pengentahu
cara menjumlahkan dengan Funsi "SUM" untuk range yangtidak tetap.
terima kasih
22 Agustus 2009 01.18
Wawan mengatakan...
Thanks atas penjelasannya itu sangat berharga bagi saya.
sayapengen tahu cara menggunakan fungsi "SUM" pada range yangtidak
tetap
22 Agustus 2009 01.20
Sandy mengatakan...
Makasih Gan.. sgt bermanfaat.. mohon copy Pastenya ya..??
17 Agustus 2011 18.53
-
Sandy mengatakan...
TQ ya Gan.. sgt bermanfat..buat saya yg pemula..Mohon izin Copy
Fastenya..!!
17 Agustus 2011 18.54
Ben mengatakan...
U welcome GAn....
18 Agustus 2011 00.40
Anonim mengatakan...
mas ben kenapa tidak dilanjutkan postingannya.saya sudah
mutermuter mencari tutorial vbexcel, donlot sanasini sampai capek,
hasilnya gak mudeng juga cara kerja exceldan vb.setelah ketemu
blognya mas ben, saya sudah tobat jalanjalan digoogle.caranya mas
ben memberi pencerahan pas mantab.saya langsung mudeng, dan
ketagihan ngutak atik excel lagi.lanjutkan mas ..saya sudah add ym
sampeyan, mungkin suatu saat saya bisamenyapa kalau ketemu
hehehee"pak guru!!...terima kasih share ilmunya."(berteriak
sambilmembungkuk 3x)
31 Agustus 2011 21.25
Ben mengatakan...
karena kesibukan di kantor saya belum sempat nambah tulisanlagi
mas....
mudah2an bisa nambahlagi..berdasarkan pengalaman sayakotakkatik
macro excel di kantor...
oke mas, nanti saya accept invite nya di ym. belum buka ym
laginih..
waduh jangan panggil saya guru mas, saya gak bakat jadi
guru.dulu pernah coba jadi guru sekolah selama 8 bulan. tapi gak
bisamenguasai kelas...hehe
jadi penulis blog aja lebih enak :D
1 September 2011 05.57
Rahmat Hidayat mengatakan...
thnks gan, mskh ilmunya, numpang copy paste.
18 April 2012 05.06
Anonim mengatakan...
Mas, boleh saya tanya...Saya punya SheetA dan SheetB.Range
B10:B12 sheetB terisi data dari range B10:B12 SheetA.Pertanyaanya,
bagaimana kode VBA nya, Jika B10 sheetA disi data, maka baris 1112
sheetB hidden. Jika B11 SheetA diisi data, maka baris 12 SheetB
hidden.tolong dijawab ya
12 Januari 2013 18.31
-
Ben mengatakan...
if sheetA.range("B10") "" then
sheetb.rows("11:12").hidden = true
elseif sheetA.range("b11") "" then
sheetb.rows(12).hidden = true
end if
13 Januari 2013 04.53
Agung Bayunanto mengatakan...
MAS minta pencerahan untuk membuat form agar dapatmenampilkan
data yang sudah diinpuntkan bagaiamana masfungsinya misal kita
masukkan nomor induk siswa sehingga dapatmenampilkan data siswa
dalam sebuah form...sebelumnyaterima kasih penjelasan bisa di kirim
juga [email protected] makasih mas
29 Januari 2014 22.36
Agung Bayunanto mengatakan...
MAS minta pencerahan untuk membuat form agar dapatmenampilkan
data yang sudah diinpuntkan bagaiamana masfungsinya misal kita
masukkan nomor induk siswa sehingga dapatmenampilkan data siswa
dalam sebuah form...sebelumnyaterima kasih penjelasan bisa di kirim
juga [email protected] makasih mas
29 Januari 2014 22.37
Ben mengatakan...
data yag sudah diinputkan ada di sheet excel gan???
kalo ada di sheet bisa gini gan...misal ada data di sheet1 cell
A1
mau dimasukan ke textbox1 di form1 gini code nya gan
Form1.Sheet1.Value = Sheet1.range("A1")
30 Januari 2014 18.07
Dilla Chaniago mengatakan...
Pak, saya mau tanya tanya...Saya punya SheetA dan SheetB.(Cell
A1 sheetA) terisi data dari (Cell A1:A2:A3 SheetA.)
Bagaimana cara SheetA memanggil SheetB ? dan sebaliknya ?
Mohon bantuannya pak ?terimakasi
3 Februari 2014 21.39
Ben mengatakan...
saya sudah jawab via email yah..."memanggil" itu apa menampilkan
sheet B atau emmasukkandata dari sheet B ke sheet A
-
terimakasih
7 Februari 2014 00.42
Sapu Jagad mengatakan...
Mas.mohon bantuuanya...Saya ingin membuat Command Button Laporan
di Form. ketika diklik Commond Button Laporan tersebut akan
menampilkansheet1 kolom A; Kolom B: kolom F berdasarkan data yang
telahdi entry (tapi dalam bentuk print preview)Terima Kasih Mas
semoga bantuanya bermanfaat tidak untuksaya tetapi untuk yang lain
juga.Bisa di email juga ke [email protected]
Salam
23 Februari 2014 21.31
Ben mengatakan...
coba pelajari pembahasan tentang masalah mas di link ini
mas...
kalo menurut saya sebelum di print preview, datadata yagn maudi
print di kumpulkan di suatu sheet (secara automatis oleh vba)
baru setelah itu di print preview
25 Februari 2014 22.35
Ben mengatakan...
ini link nya mas...sori lupa.... :)
http://www.mrexcel.com/forum/excelquestions/80932controldisplayprintpreviewthroughvisualbasicapplicationsnotexcel.html
25 Februari 2014 22.36
Anonim mengatakan...
Mas Ben, Gmn cara memberi warna pada sel/range dengan VB,trims
sblmnya...
27 Maret 2014 10.55
Ben mengatakan...
seperti ini contohnya mas
Range("A1").Interior.Color = 49407
nanti sel A1 jadi warna orange
30 Maret 2014 22.47
SINGKUK Digital.COM mengatakan...
bagus banget penjelasannya. sy ini blm paham, apa bedanyascript
yg dijalankan/dipanggil dengan menggunakan commanbuton dengan tidak
menggunakn comman button (yg berjalanotomatis). apakah penempatan
scriptnya juga berbeda (dimodule, di sheet, form atau di workbook?
trima kasih. tlngemail ke [email protected]
5 Juni 2014 19.03
-
Poskan Komentar
Link ke posting ini
Buat sebuah Link
dede hidayat mengatakan...
mas Ben saya pernah melihat aplikasi raport sekolahmenggunakan
excel saya tertarik di pungsi printnya di satu sheetbisa membuka
sheet lain yang sudah di pilih dengan hanya kliktombol atau tulis
angka. Mas Ben mohonpencerahannya....terimakasih.
21 Juli 2014 18.20
Ben mengatakan...
untuk memilih sheet tertentu bisa seperti ini mas, contohnyakita
mau buka sheet1
sheet1.activate
nah ini dasar dari pengaktifan sheet
bila pake angka berarti angka itu sebagai indeks. oleh karena
ituyang kita pakai
sheets(index).activate
misal sheet pertama maka
sheets(1).activate
kalo sheet ke dua ya ganti 1 menjadi 2
21 Juli 2014 19.26
Ben mengatakan...
untuk script yang berjalan otomatis misal seperti timer
danfungsi ditempatkan di module.
triger dari script tersebut bisa dari comand button
atauapaapun...
6 Agustus 2014 08.29
Anonim mengatakan...
Gan gimana cara bikin tombol save as nya soalnya saya udahcoba
tapi gagal terus. minta penjelasannya secara rinci
donk..makasih
1 Oktober 2014 08.40
-
Posting Lebih Baru Posting LamaBeranda
Langganan: Poskan Komentar (Atom)
Tetang Blog iniBlog ini berisi tentang tutorialsingkat tentang
Makro Excelyang menggunakan bahasapemograman Visual Basic
untukpemula. Dengan pengetahuantentang Makro Excel, parapengguna
Excel dapatmengoptimalkan penggunaanExcel untuk berbagai
aplikasi.Bila ada pertanyaan atau kritikdan saran, pembaca
dapatmenghubungi penulis melaluiemail :[email protected]
juga menyediakan jasakonsultasi darat ke kantor ataurumah (jakarta,
tangerangselatan, depok) bagi pembacayang membutuhkan.
SalamBen
Follow@vb_excel 24followers
Komunitas VBA Excel di
-
FacebookVBA Programmer for Hire
Daftar TutorialMembuat Fungsi ExcelSendiriBeberapa Contoh
KodeMelangkah Lebih JauhMengendalikan RangeMemulai Makro Excel
Donasi ke Blog ini
Pesan Sponsor
-
Bolt Modem: Bolt modem byZTE.3
Find this cool stuff here:http://zocko.it/LDErT
-
SilverSerpentSubwooferYAdapterC...BetterCablesNew$29.95Best$29.95
TheEndBurtReynolds,Jam...New$49.98Best$13.63
FromBeginningtoEnd
New$3.99Best$3.99
KodiakCuttingToolsKCT166494USAM...KodiakCuttingToo...New$15.99Best$15.99
Road'sEndOrganicsGlutenFreeShii...Road'sEndOrganic...New$14.28Best$9.99
PrivacyInformation