belajar vb-excel_ beberapa contoh kode.pdf
TRANSCRIPT
-
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:=
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