Anda di halaman 1dari 26

Beberapa Contoh Kode

AUTO RUN
Ada beberapa cara untuk membuat macros yang kita buat berjalan secara
otomatis ketika pertama kali membuka workbook. Yang pertama adalah Auto Open
Method, yang diletakkan di modules, kedua adalah Workbook Open Method, yang
diletakkan di pada obyek Workbook (lihat penjelasan pada langkah 3). Dua Contoh
kode berikut akan menampilkan pesan “hi” ketika Workbook pertama kali dibuka.
Sub Auto_Open( )
Msgbox “hi”
End Sub
Private Sub Workbook_Open( )
Msgbox “hi”
End Sub
MENGHITUNG ROWS, COLUMNS DAN SHEET
Kode berikut digunakan untuk menghitung berapa jumlah rows (baris)
atau columns(kolom) yang telah kita sorot dengan kursor.
Sub Hitung( )
hitung_baris = Selection.Rows.Count
hitung_kolom = Selection.Columns.Count
MsgBox hitung_baris & " " & hitung_kolom
End Sub
Sub hitung_sheet( )
hitung_sheet = Application.Sheets.Count
Msgbox hitung_sheet
End Sub
MENG-KOPI RANGE
Contoh berikut akan meng-kopi range A1 sampai A3 ke D1 sampai D3
Sub Kopi_Range( )
Range (“A1:A3”).Copy Destination:=Range(“D1:D3”)
End Sub
WAKTU SEKARANG
Contoh berikut akan menampilkan waktu pada saat ini
Sub sekarang( )
Range (“A1”)= Now
End Sub
MENGETAHUI POSISI SEL YANG SEDANG AKTIF
Sub posisi( )
baris = ActiveCell.Row
kolom = ActiveCell.Column
Msgbox baris & “,” & kolom
End Sub
MENGHAPUS BARIS YANG KOSONG
Sub hapus_baris_kosong( )
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
For i = 1 To Rng
If ActiveCell.Value = "" Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next I
End Sub
Menebalkan dan Mewarnai Huruf (Font)
Contoh berikut akan menebalkan dan memberi warna merah pada huruf dimana sel
sedang aktif.
Sub tebal_merah( )
Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
End Sub
MENGIRIMKAN WORKBOOK MELALUI EMAIL
Sub email( )
ActiveWorkbook.SendMail recipients:= ”excel@ahoo.c”
End Sub
FUNGSI EXCEL
Menggunakan fungsi bawaan Excel dalam VBE hampir sama dengan
menggunakannya dalam Excel. Misal fungsi round untuk membulatkan sebuah angka,
dalam spreadsheet akan terlihat seperti ini
= round(1.2367, 2)
Dalam VBE Anda cukup menggunakan Application kemudian disusul fungsi yang akan
dipakai.
Sub bulat( )
ActiveCell = Application.Round(ActiveCell, 2)
End Sub
MENGHAPUS NAMA-NAMA RANGE
Contoh berikut akan menghapus semua nama-nama range di dalam workbook Anda
Sub hapus_nama_range( )
Dim NameX As Name
For Each NameX In Names
ActiveWorkbook.Names(NameX.Name).Delete
Next NameX
End Sub
LAYAR BERKEDIP
Program dalam macros yang sedang berjalan dapat membuat layar berkedip-kedip,
untuk menghentikannya Anda dapat menyisipkan kode berikut.
Application.ScreenUpdating = False
MENUJU RANGE TERTENTU
Untuk menuju suatu range tertentu, kode-kode berikut dapat digunakan.
Application.Goto Reference:=”A1”
Atau,
Range(“A1”).Select
MENUJU SHEET TERTENTU
Sedangkan untuk menuju worksheet tertentu, gunakan kode-kode berikut.
Sheets(1).Select
Atau
Sheet1.Select
Untuk menuju Sheet terdepan (nomor 1)
Sheet(“coba”).Select
Untuk menuju Sheet bernama “coba”
MENYEMBUNYIKAN WORKSHEET
Kode berikut berfungsi untuk menyembunyikan Sheet1
Sheet1.Visible = xlSheetVeryHidden
Pengguna tidak dapat membuka sheet yang telah disembunyikan dengan cara ini,
hanya dengan kode VBE sheetdapat dibuka kembali.
INPUT BOX
Kode berikut berguna untuk memunculkan Input Box
InputBox(“Masukkan Nama”)
MENYISIPKAN BARIS DAN KOLOM
Kode berikut akan menyisipkan baris diatas range A1,
Range(“A1”).Select
Selection.EntireRow.Insert
Sedang yang berikut akan menyisipkan satu kolom disamping kiri range A1,
Range(“A1”).Select
Selection.EntireColumn.Insert
MENGATUR ULANG UKURAN RANGE
Selection.Resize(7,7).Select
MEMBERI NAMA RANGE
Selection.Name = “nama”
MENYIMPAN FILE
Kode berikut berguna untuk menyimpan file tanpa memberi nama,
ActiveWorkbook.Save
Sedangkan bila Anda hendak memberi nama (SaveAs), gunakan kode berikut,
ActiveWorkbook.SaveAs Filename:=”C:\coba.xls”
PENJADWALAN
Kadang-kadang kita hendak menjadwalkan sebuah tugas kepada Excel, contohnya
menyimpan file pada jam-jam tertentu. VBE dapat melakukannya
dengan menggunakan fungsi Application.OnTime. Sebagai contoh, kode dibawah ini
akan menjalankan prosedur Simpan( ) pada jam 12:00 dan 16:00, prosedur Simpan(
) sendiri berisi perintah untuk menyimpan file,
Sub tugas()
Application.OnTime TimeValue("12:00:00"), "Simpan"
Application.OnTime TimeValue("16:00:00"), "Simpan"
End Sub
Sub Simpan()
ActiveWorkbook.Save
End Sub
Bila Anda hendak merubah jamnya, missal jam 10:03:05, maka
rubah TimeValue menjadi TimeValue(“10:03:05”).
Sedangkan bila Anda hendak melakukannya satu jam setelah prosedur tugas( )
dijalankan maka rubahlah kodenya seperti demikian,
Sub tugas()
Application.OnTime Now + TimeValue("01:00:00"), "Simpan"
End Sub
Perhatikan penambahan kata “Now”. Kode-kode di atas bekerja bila disimpan
dalam module, bula Anda ingin menyimpannya di dalam Sheet1
(atau worksheet manapun), maka rubahlah “Simpan” menjadi Sheet1.Simpan

Diposting oleh Ben  

Label: Excel, Macro, VB, VBA, Visual Basic, Visual Basic ApplicationVB

100 komentar:

Wawan mengatakan...

Thanks penjelasannya sangat berharga bagi saya. saya pengen tahu cara menjumlahkan
dengan Funsi "SUM" untuk range yang tidak tetap. terima kasih

22 Agustus 2009 01.18

Wawan mengatakan...

Thanks atas penjelasannya itu sangat berharga bagi saya. saya pengen tahu cara
menggunakan fungsi "SUM" pada range yang tidak 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 muter-muter mencari tutorial vb-excel, donlot sana sini sampai capek, hasilnya
gak mudeng juga cara kerja excel dan vb.
setelah ketemu blognya mas ben, saya sudah tobat jalan-jalan di google.
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 bisa menyapa kalau ketemu hehehee
"pak guru!!...terima kasih share ilmunya."(berteriak sambil membungkuk 3x)

31 Agustus 2011 21.25

Ben mengatakan...

karena kesibukan di kantor saya belum sempat nambah tulisan lagi mas....

mudah2an bisa nambahlagi..berdasarkan pengalaman saya kotak-katik macro excel di


kantor...

oke mas, nanti saya accept invite nya di ym. belum buka ym lagi nih..

waduh jangan panggil saya guru mas, saya gak bakat jadi guru. dulu pernah coba jadi guru
sekolah selama 8 bulan. tapi gak bisa menguasai 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 11-12 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 dapat menampilkan data yang sudah
diinpuntkan bagaiamana mas fungsinya misal kita masukkan nomor induk siswa sehingga
dapat menampilkan data siswa dalam sebuah form...sebelumnya terima kasih penjelasan
bisa di kirim juga ke agungbayunanto@gmail.com makasih mas

29 Januari 2014 22.36

Agung Bayunanto mengatakan...

MAS minta pencerahan untuk membuat form agar dapat menampilkan data yang sudah
diinpuntkan bagaiamana mas fungsinya misal kita masukkan nomor induk siswa sehingga
dapat menampilkan data siswa dalam sebuah form...sebelumnya terima kasih penjelasan
bisa di kirim juga ke agungbayunanto@gmail.com 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 emmasukkan data 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 di klik Commond Button
Laporan tersebut akan menampilkan sheet1 kolom A; Kolom B: kolom F berdasarkan data
yang telah di entry (tapi dalam bentuk print preview)
Terima Kasih Mas semoga bantuanya bermanfaat tidak untuk saya tetapi untuk yang lain
juga.
Bisa di email juga ke sapu.jagad007@gmail.com

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, data-data yagn mau di 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/excel-questions/80932-control-display-print-preview-
through-visual-basic-applications-not-excel.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 bedanya script yg dijalankan/dipanggil
dengan menggunakan comman buton dengan tidak menggunakn comman button (yg berjalan
otomatis). apakah penempatan scriptnya juga berbeda (di module, di sheet, form atau di
workbook? trima kasih. tlng email ke dy_kur@yahoo.com

5 Juni 2014 19.03

dede hidayat mengatakan...

mas Ben saya pernah melihat aplikasi raport sekolah menggunakan excel saya tertarik di
pungsi printnya di satu sheet bisa membuka sheet lain yang sudah di pilih dengan hanya klik
tombol atau tulis angka. Mas Ben mohon pencerahannya....terimakasih.

21 Juli 2014 18.20

Ben mengatakan...

untuk memilih sheet tertentu bisa seperti ini mas, contohnya kita mau buka sheet1

sheet1.activate

nah ini dasar dari pengaktifan sheet

bila pake angka berarti angka itu sebagai indeks. oleh karena itu yang 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 dan fungsi ditempatkan di module. 

triger dari script tersebut bisa dari comand button atau apaapun...

6 Agustus 2014 08.29

Anonim mengatakan...

Gan gimana cara bikin tombol save as nya soalnya saya udah coba tapi gagal terus. minta
penjelasannya secara rinci donk.. makasih

1 Oktober 2014 08.40

syamsul alam mengatakan...

gue ngak bisa bilang apa2 lagi kecuali...


Thank u verrrrrrryyyyyyyyy muchhhhh atas artikelnya........

15 Mei 2015 00.31

Ben mengatakan...

terimakasih karena sudah membaca mas...semoga bermanfaat

15 Mei 2015 01.12

Andre Syafirman mengatakan...

Mas mau nanya ne..cara menyimpan data yang kita inputkan di sheet1 tampil di
sheet2..mhon bntuanny mas

24 Juni 2015 00.55


Ben mengatakan...

misal data ada di kolom A sheet 1, mau ditaruh di kolom B sheet2 kodingnya kira2 kayak gini
mas

Sheet2.range("B:B") = sheet1.range("A:A")

24 Juni 2015 03.23

Andre Syafirman mengatakan...

mau nanya yang lanjutan yang kemaren mas ben,,


Kodingnya seperti ini... 

Sub MasukanData()
Dim NamaPegawai As String
Dim Alamat, Nomor As String

'PILIH SHEET
Sheets("FORM INPUT").Select
Nomor = Range("G1").Text
NamaPegawai = Range("B4").Text
Alamat = Range("C4").Text
'MASUKAN DATA
Sheets("DATABASE").Select
jumlahData = Range("E1").Value
Rows(jumlahData + 2 & ":" & jumlahData + 2).Select
Selection.Copy
Rows(jumlahData + 3 & ":" & jumlahData + 3).Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Masukan data
Range("A" & jumlahData + 3).Select
ActiveCell.FormulaR1C1 = Nomor
Range("B" & jumlahData + 3).Select
ActiveCell.FormulaR1C1 = NamaPegawai
Range("C" & jumlahData + 3).Select
ActiveCell.FormulaR1C1 = Alamat
Sheets("form input").Select
'pesan berhasil
MsgBox "Input Data Berhasil !", vbInformation, "Terimakasih !"
Range("B3:C3").Select
End Sub
Sub simpan()
MasukanData
End Sub

Yang mau saya tanyakan mas Ben, ketika saya input nama pegawai dan alamat pegawai di
kolom 4 maka berhasil masuk di sheet Database,,kemudian saya inputkan lagi di kolom 5
malah nama di kolom 4 yang tampil lagi mas,,seperti gambar di atas yang sudah saya input,
bagaimana kodingnya tu mas ben, supaya data yang diinputkan seterusnya tampil di sheet
Database,,mohon banget bantuannya mas ben...

24 Juni 2015 20.30

Ben mengatakan...

NamaPegawai = Range("B4").Text
Alamat = Range("C4").Text

ya jels aja di kolom 4 mas..kan situ definisiin nama pegawai ama alamat di kolom 4 (B4 dan
C4)

24 Juni 2015 23.48

Andre Syafirman mengatakan...

Trus gmana solusinya mas ben,,mhon bantuannya mas ben

25 Juni 2015 02.08

Ben mengatakan...

kalo mau kolom 5 masuk ke database mas ubah aja B4 jadi B5, dan C4 jadi C5....

25 Juni 2015 18.37

Andre Syafirman mengatakan...

Klw itu udah pasti berhasil mas,,masalah nya kalau kita inputkan 2 kolom dan seterusnya
mana bisa mas,,atau ada cara lain nggak mas,.

25 Juni 2015 19.15

Ben mengatakan...

itu cari sel kosong setelah sel patokan dan berikutnya

contoh patokannya kan c4 jadi kita set dulu patokannya

dim patokan as range


set patokan = range("B4")

setelah itu suruh macro cari sel kosong di kolom2 setelah patokan

j=1
do while patokan(1,j) <> ""

j=j+1

loop

nah kalo udah ketemu taruh data di kolom yg gak kososng sebelum kolom kosong ke variabel
atau sel yg dituju

datatuju = patokan(1, j-1).value

25 Juni 2015 20.22

Andre Syafirman mengatakan...

Aduuuh mas ben,,tambah nggk ngerti saya mas,,coba gabungkan coding yg mas ben ajukan
tadi dengan coding yg saya buat tu mas ben,,tlong mas

25 Juni 2015 22.13

Ben mengatakan...

kalo sy yg coding ada fee nya mas...


dan sy perlu jugaa file excel nya...

25 Juni 2015 23.13

Andre Syafirman mengatakan...

Kalau ada file sederhana yg sudah menggunakan tombol simpan,,tolong kirim ke email saya
mas..
andresyafirman3@gmail.com
tlong bntuannya mas

25 Juni 2015 23.34

Ben mengatakan...

sy jual 5 aplikasi yg dah jadi & kebuka kodingannya, plus tutorial2 di blog ini dalam pdf...50
ribu aja...

tapi kalo minta dimodif kodingannya atau sy buat koding baru sesuai permintaan konsumen
harganya beda & lebi mahal...

kayaknya di grup FB komunitas VBA indonesia, banyak contoh koding vba mas...free juga

27 Juni 2015 00.48


Lukman Hakim mengatakan...

@ ben boleh dung mas pdf nya nanti 50 rb nya saya transfer gmn

20 Agustus 2015 03.01

Ben mengatakan...

mau dikirim via jne (kepingan cd) atau via email mas???

alamat email nya pa mas? biar sy kirim no rekening saya

20 Agustus 2015 18.38

Anonim mengatakan...

Thanks gan... berguna sekali

26 Agustus 2015 00.30

Ben mengatakan...

oke gan..makasih kembali

26 Agustus 2015 07.48

Lukman Hakim mengatakan...

@ben email saya lukeman1285@gmail.com..

26 Agustus 2015 08.30

Syafiie Marsa mengatakan...

Untuk form input yang databasebya jalan ke bawah bukan ke samping misalnya di sheet1
input A1 : A12 untuk di sheet2 tujuan maka sama jalan ke bawah bukan kesamping yakni B1
samapai B12 juga. Thanks gan

7 September 2015 21.35

Ben mengatakan...
kalo jalan ke bawah atau ke samping bisa pake cells atau ofset, sy lebih sering pakai cells,
tinggal kenadlikan rowindex nya

contoh
Range("A1").cells(2,1) itu sama dengan Range("A2").cells(1,1) atau Range("A2") saja

angka 2 mengacu pada baris kedua dari A1, yaitu A2

tinggal rubah2 aja rowindex nya

8 September 2015 18.23

andriana kurniawan mengatakan...

mas ben saya pemula dan article mas top banget. ini alamat email saya
backup12data@gmail.com. boleh saya minta alaamt email mas ben via email saja . nuhun

7 Oktober 2015 02.08

Ben mengatakan...

sy sudah kirim email ke mas, email sy bernadushs@yahoo.com

7 Oktober 2015 17.55

novi anjaswara Anjaswara mengatakan...

Assalamualaikum, sebelumnya terimakasih ilmunya berguna sekali bagi saya, satu saya mau
tanya bagaimana bila mecopy range a ke range b namun bila range b sudah ada isinya ..
maka copy range a pindah ke bawah range b atau kesamping .. mohon pencerahaannya...
sekali lagi terimakasih banyak... penjelasanya simple namun langsung masuk ke otak saya
dan bisa di paktekan.. 
ini email saya anjaswara14@gmail.com

20 Oktober 2015 03.42

Ben mengatakan...

Halo mbak,

hal pertama adalah mengetahui apakah range b nya sudah terisi atau belum, kalau sudah
terisi berarti pindah ke samping (tambah satu kolom) atau ke bawah (tambah satu baris)

ini contoh code untuk tahu range tertentu ada isinya atau tidak

If Range("A5") <> "" then


' hal yang dilakukan kalau range A5 ada isinya
else
'hal yang dilakukan kalau sebaliknya yaitu range A5 kosong 
end if

untuk mengisi baris di bwah range target, contoh kodenya kayak gini

Range("A5").cells(2,1) = "nilai"

kalo kolom sebelahnya seperti ini contohnya

Range("A5").cells(1,2) = "nilai"

silahakan berlatih

20 Oktober 2015 18.22

novi anjaswara Anjaswara mengatakan...

saya sudah mencoba rumus nya tapi tak tahu harus di tempatkan di mana 

bila rumus ini juga saya gunakan untk mencopy range a ke range b 

Range("a5").Copy Destination:=Range("b5")

nah yg saya mau jika pada range b5 ada isinya maka secara otomatis coman button bila saya
klik otomatis mengisi range dibawah b5 ...

terimakasih rumusannya .... :)

22 Oktober 2015 01.51

Ben mengatakan...

Range("a5").Copy Destination:=Range("b5").cells(2,1)

kode ini akan mengkopi isi a5 ke b6 (di bawah a5)

tinggal digabungin sama penjelsan saya sebelumnya

22 Oktober 2015 20.20

Fidelis gulo mengatakan...

Mas, mohon bantuan, apa codingnya supaya cell A1 pada sheet1 apabila di klik/cell A1 aktif,
maka akan berpindah ke sheet2. Tanpa gunakan (commanbutto).. matursuwun mas. Trims

24 Oktober 2015 06.48

Ben mengatakan...
kira-kira seperti itu mas...U welcome

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Address = Range("A1").Address Then Worksheets("Sheet2").Activate

End Sub

25 Oktober 2015 17.57

Fidelis gulo mengatakan...

Selamat malam master.. apa coding untuk commanbutton simpan.. saya punya data pada
sheet1 range a1:a9 jika klik commandbutton maka data tersebut berpindah pada KOLOM
kosong sheeet2. Jadi intinya data pada sheet1 di simpan pada kolom kosong mulai dari baris
pertama sampai baris 9 pada sheet2. Mohon bantuan nya mas.. terimakasih gbu

6 November 2015 03.30

Ben mengatakan...

kira2 seperti ini mas

Sheet2.range("A1:A9").value = Sheet1.range("A1:A9").value

sama2 mas
GBU too

8 November 2015 17.04

Al Farizi mengatakan...

mas saya mau nanya ,kn saya buat coding di vb mocrosoft excel ,jadi saya buat form dan
tombol comman button ,bagaimna cara nya memanggil / membuka file excel lain jika kita
klik comman button ,terima kasih

4 Desember 2015 04.51

Al Farizi mengatakan...

bagaimana codingan nya untuk memanggil atau membuka file excel yg sudah ada mass ?

4 Desember 2015 04.52

Ben mengatakan...
pake Application.GetOpenFilename mas...

contohnya bisa dilihat di link ini

http://analysistabs.com/vba/open-file-dialogbox-excel-macros-example-code/

6 Desember 2015 17.32

Atin mengatakan...

Mas Ben..
Saya ingin mencetak rapor utk siswa sekolah, berhubung utk rapor ada narasinya tiap mata
pelajaran bisa sampai 6 halaman, Bagaimana memunculkan nomor halaman dan nama siswa
pada catatan kaki (footnote/endnote). NB: Nama siswa ada di sel tertentu di sheet itu!

28 Desember 2015 18.21

Ben mengatakan...

coba pelajari link ini bu

http://windowssecrets.com/forums/showthread.php/137093-Accessing-Footnote-text-
using-VBA

tinggal ganti 
aFN.Range.Text = range("A1")

misalnya nama siswa ada di sel "A1"

28 Desember 2015 19.22

Atin mengatakan...

Terimakasih bantuannya...semoga jadi amal baik anda!

10 Januari 2016 17.02

Ben mengatakan...

sama-sama bu...

10 Januari 2016 17.07

Sintia Dewi Dalalu mengatakan...

Pak mau tanya,gimana codingannya untuk memunculkan cell dengan sendirinya,setelah klik
running tanpa di klik dahulu gridnya?
8 Februari 2016 06.24

Sintia Dewi Dalalu mengatakan...

Pak, bagaimana codingannya menggunakan visual basic untuk memunculkan cell dgn
sendirinya setelah kita klik running, tanpa kita klik terlebih dahalu di gridnya?

8 Februari 2016 06.28

Ben mengatakan...

biasanya kalau tidak memakai klik, kita bisa gunakan timer. yang paling sederhana adalah
Application.OnTime

8 Februari 2016 16.51

alexander agus mengatakan...

Mohon Pencerahannya mas :


Saya Menggunakan Combo Box Form Control dan Button Form Control dan ketika saya pilih
combo boxnya kan muncul angka 1 sampai 31, kemudian saya pilih angka 1 dan tampil angka
satu. nah pertanyaannya adalah : bagaimana coding macronya ketika kita pilih salah satu
anggak dari 1 s/d 31 dan kemudian kita klik Button form controlnya langsung menuju sheet
1 atau sheet sesuai pilihan pada combo box tersebut dan pencerahannya bisa di poskan via
email saya mas (ajz_alex@yahoo.com) Thanks sebelum dan sesudahnya. SALAM
PERSAHABATAN

2 Maret 2016 07.42

Ben mengatakan...

step 1 :

mengetahui apa yang dipilih pengguna, misal pilihan pengguna kita taruh di variabel pilih

dim pilih as integer


pilih = ComboBox1.Value

step 2 :

aktifkan sheets sesuai pilihan

Worksheets(pilih).Activate

2 Maret 2016 16.45

sudrajat ibnu rusdi mengatakan...


Mas Ben Mohon Bantuannya ....
1. Saya membuat script untuk mengunci cell dengan script VBA sebagai berikut :
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Worksheets("BABAK 1").Protect Password:="625525", _
UserInterFaceOnly:=True
Rumus itu berhasil sih tp ko selalu minta di Running tiap kali buka, apa ada yang salah y?
mohon jalan keluarnya
2. saya juga menyisipkan : Application.ScreenUpdating = False untuk menghilangkan kedip
di layar karena rumus VBA, tapi kedip yang kecil hilang muncul kedip yang lebih besar,
gimana nih? sekali lagi minta bantuan y Mas.....

18 Maret 2016 18.42

Ben mengatakan...

@ mbak Shinta : misalnya kita mau menuju sel A1 di sheet1, kodenya seperti ini
Application.GoTo Sheet1.Range("A1"), True 

@ mas Sudrajat : maksudnya dirunning seperti apa??? kan kodingnya dipanggil setiap kali
workbook dibuka private workbook_open.... boleh tahu apakah mas menggunakan timer
dalam aplikasinya??? atau pkai while loop (endless loop). saya pakai while loop tanpa
ScreeenUpdating gak pernah flicker (kedip2)

20 Maret 2016 17.55

Unknown mengatakan...

misi gan mo tanya nie.. misal kalo mau bikin menu kasir dan kita hanya menuliskan kode ny
saja truz muncul menu,satuan dan hargax langsung di TextBox tanpa kita mengetikan lg di
TextBox nya bagaimn ya rumusx.. mohon bantuanx..

25 Maret 2016 11.26

pinkant mengatakan...

Mas. Bagaimana membuat codingnya ya. Syakan buat entri data lmbar jawab soal, pakai
tombol simpan dan saya tmbh msgbox "data sudah msk database" di sheet 2. Sdh berhasil.
Pertnyaanya.. Jika ada soal yg blm djwb/dientri msgbox"data ada yg kosong" dan blm
ksimpan. Klo sdh oke full..bru ksimpan. Trimakasih

26 Maret 2016 17.01

Ageng Yuliantoro mengatakan...

Mas ben, mohon bantuannya kalo mau copy data dari sheet 1 ke sheet 2 menggunakan range
dan kondisi tertentu contoh

jika G2 bernilai 1 maka copy data dari sheet1 range(A2:F2) ke sheet 2.


jika H3 bernilai 2 maka copy data dari sheet1 range(A3:F3) ke sheet 3.

dan hasil paste dari copyan range (A2:F2) / (A3:F3) di letakkan pada row terakhir pada
sheet masing masing. thanks mas ben.

31 Maret 2016 00.07

Ben mengatakan...

rumusnya panjang mas..

6 April 2016 00.52

Ben mengatakan...

@mbak Pinkant & mas Ageng

pelajari cara menggunakan IF-THEN-ELSE 

banyak tutorial di internet tentang itu mbak dan mas...

6 April 2016 00.54

Agus. Lahendra mengatakan...

Mas... Kalau untuk penggunaan if not pada VB excel itu caranya bagaimana?
Semisalkan jika TextBox1 <> 15 dan Combobox Andi, maka akan muncul peringatan. Caranya
bagaimana yaa mas? Mohon Bantuannya.

11 April 2016 05.26

Ben mengatakan...

tidak ada "if not" dalam bahasa VB mas, yang ada 


if-else-endif

biasanya kita gabungkan dengan logika lain yaitu


NOT
AND
OR

untuk kasus mas sys sarankan pakai AND, 

IF textbox <> 15 AND combobox = Andi THEN


Msgbox "peringatan"
END IF

11 April 2016 17.53


Deny Suhe mengatakan...

terimakasih ilmunya.sangat bermanfaat

21 April 2016 05.01

Ben mengatakan...

sama-sama mas

21 April 2016 18.06

Suherman pg mengatakan...

Mantabbbbbb

16 Mei 2016 23.01

Ben mengatakan...

Prosedure nya dipecah mas...ditaruh di berapa module

3 Juni 2016 19.29

Nurlan Agus mengatakan...

Mas mau nanya gmana scriptnya untuk di modul jika saya pengen pada cell A1 langsung
tertulis suatu kata jika pertama kali saya membuka file tersebut...

8 Juli 2016 22.46

Ben mengatakan...

private sub workbook_open()


range ("A1") = "kata"
end sub

9 Juli 2016 09.09

Anonim mengatakan...
Mas mau nanya klo mau ngeprint semua atau sebagian sheet pake userform, apa codingnya
ya?? misalnya kt punya 5 sheet trus kt mau ngeprint sheet 2 sampai 4 . disini saya pake
checkbox.

16 Juli 2016 05.35

Achmad Kumaidi burhanudin mengatakan...

Mohon bimbingannya pak

saya punya 2 sheet yaitu sheet1 A2:A7 (Nama Barang) dengan txtbox1, B2:B7 (Jumlah
Barang) dengan txtbox2 dan sebuah tombol Simpan kemudian sheet2 A2:A100 (Nama
Barang) B2:B100 (Stok Barang),... bagaimana code VBA jika saat tombol simpan di click
maka nilai pada jumlah Barang pada sheet2 dikurangi Jumlah Barang pada sheet1 sesuai
nama barang. Trimakasih

salam

20 Juli 2016 19.01

Ben mengatakan...

untuk memprint sheet silahkan lihat di link ini mas


https://msdn.microsoft.com/en-us/library/office/ff838253.aspx

strateginya chexbox nya menentukan nama sheets, kemudian gunakan kode yang ada di link
yang saya kasih buat memprint sheets.

20 Juli 2016 20.15

Ben mengatakan...

@mas Acmad

utntuk mudahanya masing range ddi sheets di set, misal


set sumber = Sheet1.Range("A2:B7")
set tujuan = Sheet2.Range("A2:B100")

i = 1 
do while tujuan(i,1) <> ""
j=1
do while sumber(j,1) <> ""
if tujuan(i,1) = sumber (j,1) then
tujuan(i,2) = tujuan(i,2) - sumber(j,2)
exit do
end if
j=j+1
loop
i=i+1
loop
20 Juli 2016 20.27

chank cole mengatakan...

Mau tanya nih mas ben...


Gimana cara nya membuat auto hide saat data kosong dan auto unhide ketika data terisi...

24 Februari 2017 05.15

Yus Aprianto mengatakan...

Mohon bimbingannya,mas...
Saya buat command button di sheet 1, kalau saya mau ketika command buttonnya di klik
trus menuju ke sheet 2 cell B6, bagaimana kodenya mas?
Mohon penjelasannya mas...maklum masih belajar...
Terima kasih

26 Februari 2017 03.21

Ben mengatakan...

@ mas Chank Chole : yg di hide apaan mas

untuk cek data kosong bisa kayak gini

if range("A1") = "" then 

@ mas Yus 
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("B6"))

26 Februari 2017 17.58

k1rbansel12 mengatakan...

gan mau tanya dong, tau gak macro buat ngirim email otomatis pas suatu macro running?
jad setiap macronya run bakal langsung ke email waktunya... bisa tolong i bantu gan?

7 September 2017 05.53

Ben mengatakan...

cek lin ini gan 


http://www.makeuseof.com/tag/send-emails-excel-vba/

7 September 2017 19.15


sihindependent mengatakan...

saya tidak bisa mengedit data pada sheet yang disembunyikan melalui userform, mohon
bimbingannya

22 Oktober 2017 09.38

Ben mengatakan...

macro nya yg buat sampeyan atau orang lain mas???


kalo punya sendiri ubah aja di userform nya

22 Oktober 2017 18.23

fahima mengatakan...

Mas Ben minta tolong dijelaskan cara buat codingnya dan penjelasan rincian fungsi
codingnya. saya ingin cetak rapor sejumlah siswa dalam satu kelas dengan cara bertahap
dan berberjalan otomatis, misalnya dari siswa no.1 sampai no. 5 dulu. lalu berlanjut siswa
no.6 sampai no.10 dan seterusnya. Karena saya pernah mencoba cetak rapor dengan cara
seperti itu tapi yang tercetak hanya siswa no.1 terus sampai beberapa kali sesuai jumlah yg
saya pilih.padahal saya ingin cetak secara berurutan.terima kasih atas bantuannya.

28 Desember 2017 09.41

Taufik Germ mengatakan...

Gan mau tanya cara membuat tombol simpan.


Seumpama di userform terdapat combobox1 dan tombol "simpan"

Yang mau saya tanyakan seumpama di combobox saya ketik "A" kemudian saya klik "simpan"
maka yg saya ketik masuk di sheet2 di baris A1. Caranya gimana gan?

Tolong bantuannya

31 Desember 2017 07.39

Ben mengatakan...

bila ada waktu saya buatkan tulisan tentang masalah mbak...saat ini lagi sibuk mbak

1 Januari 2018 22.34

Ben mengatakan...

@mas Taufik,
mungkin maksudnya TextBox ya..karna kalo di ketik itu TextBox..

seperti ini

Sheet2.Range("A1"). Value = Me.Textbox1.value

nama dari objek TextBox nya = Textbox1

1 Januari 2018 22.41

fahrur rozie mengatakan...

mohon bantuannya mass. contoh code atau link agar sya bisa mempelajarinya.
saya ingin membuat program email gmail otomatis untuk pengingat tanggal sebulan
sebelum, berdasarkan cell tertentu (B3) dan seterusnya tapi tetap menyebutkan nama dari
tanggal pengingat tersebut. pengingat tersebut hanya dikirim ke 1 atau 2 email saja..

contoh cell A berisikan nama, dan cell B berisikan tanggal. ketika tanggal di B menuju
sebulan sebelum tanggal maka email pengingat akan memberi peringatan.

sebelumnya terimakasih atas bantuannya.

12 Februari 2018 20.31

Ben mengatakan...

Anda mungkin juga menyukai