Penggunaan Worksheet_change Event untuk memasukkan data otomatis

Posted by

Studi Kasus Pembuatan Nota Telepon
Sebelumnya saya mau cerita, saya bekerja sbg operator telpon, kemudian untuk mempermudah pencatatan permintaan telepon keluar saya memakai M.Excell ,nah yang saya mau tanya bisa g ya kalau setiap mencatat setelah menekan enter akan keluar juga detail jam atau waktu saat itu saya mengetik, mohon bantuanya ya, trims.
Hadi, Somewhere
Terima kasih kepada Hadi atas pertanyaannya. Jadi ceritanya Hadi ingin membuat Nota Telepon di dalam Excel. Bisakah? Bisa.
Saya tidak tahu apa yang perlu Hadi Record, tetapi berikut ini saya berikan gambaran untuk menyelesaikan masalah pencatatan nota telepon tersebut.
Apa yang akan dicatat?. Yang dicatat misalnya Nama, No dihubungi, serta Tanggal dan Waktu. Untuk tanggal dan waktunya minta otomatis.
Hmm…. kita harus gunakan fungsi Worksheet_change() event. Event adalah fungsi yang dipanggil secara otomatis ketika syarat event terpenuhi. Nah syarat yang kita tetapkan disini adalah bila telah ditekan ENTER, artinya ADA PERUBAHAN NILAI PADA SEL TERSEBUT.
OK, saya buat Tabel Sederhana untuk implementasi nota telepon ini
nota telepon
Yup, saya buat tabel seperti diatas di sheet3 (anda nggak harus di sheet 3 sih), yang isinya Kode, Nama, Telepon, tanggal dan waktu seperti diatas
  1. Saya ingin ketika kolom Telepon sudah selesai dimasuki data, maka kolom tanggal dan waktu otomatis mengisi data pada saat saya tekan enter tersebut. Berarti Triggernya adalah Kolom D.
  2. Untuk mengambil tanggal dan waktu, VBA telah menyediakan fungsi yaitu DATE dan TIME.
  3. Untuk mengetahui sel yang aktif saat ini, gunakan fungsi ActiveCell
  4. Untuk berpindah ke sel yang lain, kita gunakan ActiveCell.Offset. Offset meminta masukan berapa baris dan berapa kolom kita mau pindah.
Jadi kodenya adalah seperti ini:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("D4:D22"), Target) Is Nothing Then
        Call ShowTime
    End If
End Sub
Sub ShowTime()
    ActiveCell.Offset(-1, 1).Activate 'kolom tambah 1
    ActiveCell.Value = Date
    ActiveCell.Offset(0, 1).Activate 'kolom tambah 1 lagi
    ActiveCell.Value = Time
    ActiveCell.Offset(1, -4).Activate 'Geser ke kiri 4 kolom, dan ke bawah 1 baris
End Sub
Subrutin Worksheet_Change cara penggunaannya seperti itu. Maksud program itu adalah : bila Range D4:D22 ada perubahan, maka jalankan subrutin ShowTime
Nah, anda bisa mengganti Range yang dicek perubahannya, misalkan datanya ada 10.000, ya Rangenya tinggal diganti D4:D10000
Program diatas harus anda copy dan paste di Sheet, bukan di Module. Kalau anda pakai Sheet3, ya berarti dipaste di Sheet3. Lihat gambar ini bila kurang jelas
code di sheet3
Oh, ya, sebenarnya saya berencana untuk membuat form isian seperti ini. Tapi nanti aja deh, sekarang yang mudah dulu ya…
nota telepon halimah


Download File Contoh
 Source : http://harisaryono.com/2012/06/penggunaan-worksheet_change-event-untuk-memasukkan-data-otomatis/


DR.CB
MS. Office TutorialUpdated at : March 30, 2013

0 comments:

Post a Comment