Note: The other languages of the website are Google-translated. Back to English
English English

Bagaimana cara merekam tanggal dan waktu secara otomatis saat sel berubah?

Mudah bagi kita untuk memasukkan tanggal dan waktu statis secara manual atau memasukkan tanggal dinamis yang berubah dengan waktu sistem dengan rumus. Jika Anda ingin merekam tanggal dan waktu secara otomatis saat Anda mengubah atau memasukkan nilai, masalah ini mungkin agak berbeda untuk ditangani. Namun, dalam artikel ini, Anda dapat menyelesaikan tugas ini dengan langkah-langkah berikut.

Catat tanggal dan waktu secara otomatis saat sel berubah dengan kode VBA

Tab Office Mengaktifkan Pengeditan dan Penjelajahan Tab di Office, dan Jadikan Pekerjaan Anda Lebih Mudah ...
Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%
  • Gunakan Kembali Apa Pun: Tambahkan rumus, bagan, dan hal lain yang paling sering digunakan atau rumit ke favorit Anda, dan gunakan kembali dengan cepat di masa mendatang.
  • Lebih dari 20 fitur teks: Ekstrak Nomor dari String Teks; Ekstrak atau Hapus Bagian dari Teks; Ubah Angka dan Mata Uang ke Kata Bahasa Inggris.
  • Gabungkan Alat: Beberapa Buku Kerja dan Lembar menjadi Satu; Gabungkan Beberapa Sel / Baris / Kolom Tanpa Kehilangan Data; Gabungkan Baris dan Jumlah Duplikat.
  • Alat Pisah: Membagi Data Menjadi Beberapa Lembar Berdasarkan Nilai; Satu Buku Kerja ke Beberapa File Excel, PDF atau CSV; Satu Kolom ke Beberapa Kolom.
  • Tempel Melewati Baris Tersembunyi / Difilter; Hitung Dan Jumlah dengan Warna Latar Belakang; Kirim Email Hasil Personalisasi ke Beberapa Penerima secara Massal.
  • Filter Super: Buat skema filter tingkat lanjut dan terapkan ke setiap lembar; Jenis menurut minggu, hari, frekuensi, dan lainnya; SARING dengan tebal, rumus, komentar ...
  • Lebih dari 300 fitur canggih; Bekerja dengan Office 2007-2019 dan 365; Mendukung semua bahasa; Penerapan yang mudah di perusahaan atau organisasi Anda.

panah gelembung kanan biru Catat tanggal dan waktu secara otomatis saat sel berubah dengan kode VBA


Misalnya, saya memiliki berbagai nilai, dan sekarang, ketika saya mengubah atau mengetik nilai baru di Kolom B, saya ingin di sana secara otomatis akan mencatat tanggal dan waktu saat ini di Kolom C seperti gambar berikut yang ditampilkan:

doc-update-waktu-nilai-perubahan-1

Anda dapat menyelesaikan tugas ini dengan mengikuti kode VBA. Harap lakukan seperti ini:

1. Tahan ALT + F11 kunci untuk membuka Jendela Microsoft Visual Basic for Applications.

2. Kemudian pilih lembar kerja bekas Anda dari kiri Penjelajah Proyek, klik dua kali untuk membuka file Modul, lalu salin dan tempel kode VBA berikut ke dalam modul kosong:

Kode VBA: Catat tanggal dan waktu secara otomatis saat sel berubah

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Now
            Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True
End If
End Sub

doc-update-waktu-nilai-perubahan-1

3. Kemudian simpan dan tutup kode ini untuk kembali ke lembar kerja, sekarang ketika Anda mengubah nilai sel atau mengetik data baru di Kolom B, tanggal dan waktu akan direkam secara otomatis di Kolom C.

Catatan:

1. Pada kode di atas, Anda dapat mengubah "B: B"Ke kolom lain yang ingin Anda ubah nilai selnya di skrip ini: Set WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).

2. Dengan ini xOffsetColumn = 1 script, Anda dapat memasukkan dan memperbarui tanggal dan waktu ke kolom pertama di sebelah kolom nilai Anda yang berubah, Anda dapat mengubah angka 1 ke angka lain, seperti 2,3,4,5 ... itu berarti tanggal akan dimasukkan kolom kedua, ketiga, keempat atau kelima di samping kolom nilai yang Anda ubah.

3. Jika Anda menghapus nilai di kolom yang diubah, tanggal dan waktu juga akan dihapus.


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2019 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (108)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Bagaimana Anda menulis kode untuk melakukan ini beberapa kali pada satu halaman Mis. teks di kolom B, tanggal di C dan teks di D, tanggal di E?
Komentar ini diminimalkan oleh moderator di situs
[quote]Bagaimana Anda menulis kode untuk melakukan ini beberapa kali pada satu halaman Mis. teks di kolom B, tanggal di C dan teks di D, tanggal di E?Oleh Hillary[/quote] Saya tahu ini sudah tua tetapi, cara yang panjang, namun mudah, adalah menyalin deklarasi variabel dan membuat variabel baru (yaitu WorkRng1 dan Rng1). Anda juga harus menyalin pernyataan "jika" dan mengubah variabel ke nama variabel baru.
Komentar ini diminimalkan oleh moderator di situs
[quote]Bagaimana Anda menulis kode untuk melakukan ini beberapa kali pada satu halaman Mis. teks di kolom B, tanggal di C dan teks di D, tanggal di E?Oleh Hillary[/quote] Berikut kodenya: Private Sub Worksheet_Change(ByVal Target As Range) 'Update 20140722 Dim WorkRng As Range Dim Rng As Range Dim xOffsetColumn As Integer' Ubah Range untuk memilih kolom yang Anda perbarui, yaitu ("A: A") atau ("B:B") Set WorkRng = Intersect(Application.ActiveSheet.Range("E:E"), Target) xOffsetColumn = 1 'Untuk stempel kedua kalinya 'Buat nama variabel baru, seperti WorkRng1, Rng1, dll. Dim WorkRng1 Sebagai Rentang Dim Rng1 Sebagai Rentang Dim xOffsetColumn1 As Integer Set WorkRng1 = Intersect(Application.ActiveSheet.Range("G:G"), Target) xOffsetColumn1 = 1 'Untuk stempel pertama kali Jika Tidak BekerjaRng Bukan Apa-apa Kemudian Application.EnableEvents = False Untuk Setiap Rng Dalam WorkRng Jika Tidak VBA.IsEmpty(Rng.Value) Kemudian Rng.Offset(0, xOffsetColumn).Value = Sekarang Rng.Offset(0, xOffsetColumn).NumberFormat = "mm/dd/ yyyy" Else Rng.Offset(0, xOffsetColumn).ClearContents End If Next Application.EnableEvents = True End If 'Untuk stempel kedua kalinya If Not WorkRng1 Tidak Ada Maka Application.EnableEve nts = False Untuk Setiap Rng1 Dalam WorkRng1 Jika Tidak VBA.IsEmpty(Rng1.Value) Kemudian Rng1.Offset(0, xOffsetColumn1).Value = Sekarang Rng1.Offset(0, xOffsetColumn1).NumberFormat = "mm/dd/yyyy" Lainnya Rng1.Offset(0, xOffsetColumn1).ClearContents End If Next Application.EnableEvents = True End If End Sub
Komentar ini diminimalkan oleh moderator di situs
Bagaimana jika saya ingin melakukan ini untuk rentang kolom?
Komentar ini diminimalkan oleh moderator di situs
ubah range (B:B) seperti ini: (10:20) untuk kolom 10 hingga 20 (D5:D40) untuk kolom 5 hingga 40 pada baris D Semoga membantu.
Komentar ini diminimalkan oleh moderator di situs
Maaf, saya menukar kolom dengan baris, tetapi masih berfungsi. (D:P) Dari kolom D ke P (D5:D5) dari kolom D ke P pada baris 5
Komentar ini diminimalkan oleh moderator di situs
ketika saya menyimpannya berfungsi tetapi ketika saya membuka kembali tidak berfungsi
Komentar ini diminimalkan oleh moderator di situs
[quote]ketika saya menyimpannya berfungsi tetapi ketika saya membuka kembali tidak berfungsiOleh Aarif[/quote] Masalah yang sama seperti Aarif... Ini berhasil setengah jam yang lalu, dan sekarang tidak... juga, saya hanya ingin waktu bukan tanggal DAN waktu, jadi saya mengedit ".NumberFormat" menjadi hanya jj:mm:dd, disimpan, diuji ... tidak ada bedanya ... masih mencantumkan tanggal dan waktu ...? membuka VB lagi, dan mengetik beberapa teks yang dibatasi, disimpan lagi, masih tidak bagus kemudian saya melakukannya untuk ketiga kalinya, dan formatnya melakukan seperti yang diperintahkan dan tiba-tiba saya mendapatkan waktu yang tepat. SANGAT aneh Saya sudah lama berpikir bahwa Excell berhantu, sejak saya pertama kali menggunakan fungsi SEARCH, mencari nilai dalam sel yang bisa saya lihat dengan mata kepala sendiri, tetapi Excel bersikeras itu tidak ada!? Adakah guru Excel atau pengusir setan yang dapat membantu? mengapa mengabaikan VB saya dan BUKAN timestamping seperti itu ...? terima kasih :nangis:
Komentar ini diminimalkan oleh moderator di situs
[quote]Bagaimana Anda menulis kode untuk melakukan ini beberapa kali pada satu halaman Mis. teks di kolom B, tanggal di C dan teks di D, tanggal di E?Oleh Hillary[/quote] apa jawaban dari kutipan tersebut?
Komentar ini diminimalkan oleh moderator di situs
Bagaimana jika saya ingin ini berjalan tetapi tidak pada lembar aktif, jadi jalankan di latar belakang dan perbarui setiap kali ada entri ke kolom B?
Komentar ini diminimalkan oleh moderator di situs
Bagaimana jika kolom yang mempengaruhi kolom cap waktu adalah jumlah dari beberapa kolom lainnya? Misalnya... Kolom H adalah =Sum(E+F+G) dan saya ingin stempel waktu dilakukan di Kolom I setiap kali Kolom H diubah, atau intinya ketika Kolom E, F, atau G telah diubah . Bisa tolong bantu??
Komentar ini diminimalkan oleh moderator di situs
Saya butuh bantuan tolong! Saya mencoba membuat cap waktu dilakukan setiap kali salah satu dari tiga sel diubah. Saya idealnya ingin melakukan ini ketika jumlah sel-sel ini telah diubah. Sebagai contoh. Sel E, F, G akan diubah dan Sel H akan menjadi SUM dari ketiga sel tersebut. Ketika Sel H telah diubah, saya ingin Sel I diberi stempel waktu. Apakah ini mungkin?? Terima kasih banyak
Komentar ini diminimalkan oleh moderator di situs
Saya mencoba menjalankan kode di atas; namun, sel yang perubahannya ingin saya rekam ditautkan ke kotak centang dan oleh karena itu "TRUE" atau "FALSE". Untuk beberapa alasan, kode tidak akan berfungsi saat sel berubah. Namun, jika saya memasukkan katakan "ya" secara manual, kodenya berfungsi dengan baik. Adakah solusi untuk masalah ini yang Anda ketahui? Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Apakah mungkin untuk melakukan ini untuk data historis? Jika saya membuat perubahan pada sel kemarin atau sebulan yang lalu, dapatkah saya menggunakan bentuk kode ini untuk mengambil tanggal tersebut?
Komentar ini diminimalkan oleh moderator di situs
Apakah ada cara untuk menandai waktu berdasarkan perubahan tertentu? Misalnya, saya memiliki spreadsheet dengan kolom opsi tarik-turun termasuk kosong, 'Oke', dan 'Bertindak'. Ketika tugas selesai, drop down digunakan secara manual untuk memilih 'Ok'. Saya ingin cap tanggal diikat ketika 'Ok' dipilih, tetapi tidak ketika 'Bertindak' dipilih. Opsi 'Bertindak' di tarik-turun digunakan saat tugas lewat jatuh tempo, tapi saya benar-benar hanya mencoba melacak saat item selesai. Apakah ada cara untuk mencapai ini dengan kode di atas? Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Apakah Anda dapat menyelesaikan ini?
Komentar ini diminimalkan oleh moderator di situs
itu pertanyaan yang sangat bagus. sudah diurutkan, bisa tolong di share caranya?
Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Saya dapat mengubah rentang menjadi ("A:Q") tetapi saya memerlukan tanggal dan waktu untuk memasukkan "S" jika data di sel AQ diubah/dihapus. Saya ditantang VBA. Bantuan apa pun sangat dihargai!
Komentar ini diminimalkan oleh moderator di situs
Maaf, saya baru saja memposting pertanyaan dan saya membutuhkan jawaban untuk ini ... Saya pasti melewatkan komentar ini ... semoga seseorang dapat membantu!
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara mengubahnya sehingga hanya tanggal sel yang berdekatan yang berubah?
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara mendapatkan cap waktu untuk merekam dalam sel tertentu, bukan sel di sebelah yang diubah. Saya mencoba untuk memiliki deretan sel yang diberi cap waktu ketika perubahan terjadi di salah satu sel itu, saya ingin cap waktu untuk merekam dalam satu sel tertentu ... adakah yang bisa membantu dengan ini? Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hai , Terima kasih untuk ini karena ini bagus untuk auditabilitas WB. Apakah ada cara untuk mengubah ini agar tanggal/waktu dicatat di suatu tempat di WB setiap kali komentar ditambahkan atau dimodifikasi? Saya tahu ini adalah pertanyaan umum, tetapi saya tidak yakin apakah itu mungkin (sayangnya untuk MS 2010, properti .comment tidak memiliki properti tanggal untuk mengidentifikasi kapan dimasukkan. Mike
Komentar ini diminimalkan oleh moderator di situs
Bagaimana saya bisa mengkonfigurasi untuk membaca kolom A:A dan memberikan cap waktu di B:B hanya ketika angka 14 digit dimasukkan di dalamnya?
Komentar ini diminimalkan oleh moderator di situs
Hai, saya butuh bantuan pengkodean VBA. Saya membuat spreadsheet dengan kasus yang akan ditugaskan ke orang-orang dan memiliki status kasus. Penerima tugas akan berada di Kol H dan saya memerlukan cap tanggal di Kol I ketika sel di Kol H diperbarui atau diubah dengan nama. Demikian pula saya akan memiliki status kasus di Kol J dan akan memerlukan cap tanggal di Kol K saat status dimasukkan atau diubah. juga bila ada nama atau status yang bukan penerima hak, saya memerlukan cap tanggal di Kol I dan K untuk dikosongkan. Bantuan apa pun akan dihargai. terima kasih
Komentar ini diminimalkan oleh moderator di situs
Saya menemukan kode ini di tempat lain dan memodifikasinya untuk saya gunakan. Jika dilakukan dengan benar, Anda tidak perlu khawatir memasukkan fungsi dalam sel atau file yang mengubah tanggal ke tanggal hari itu setiap kali dibuka. - buka Excel - tekan "Alt+F11" - Klik dua kali pada lembar kerja yang ingin Anda terapkan perubahannya (tercantum di sebelah kiri) - salin/tempel kode di bawah ini - sesuaikan input Range(_:_) agar sesuai ke kolom yang akan Anda perbarui - sesuaikan input Offset(0,_) agar sesuai dengan kolom di mana Anda ingin tanggal ditampilkan (dalam versi di bawah ini saya membuat pembaruan ke kolom D dan saya ingin tanggal ditampilkan di kolom F, maka masukan entri "2" untuk 2 kolom di atas kolom D) - tekan simpan - ulangi langkah di atas jika ada lembar kerja lain di buku kerja Anda yang memerlukan kode yang sama - Anda mungkin harus mengubah format angka kolom yang menampilkan tanggal ke "Umum" dan tambah lebar kolom jika menampilkan "####" setelah Anda membuat entri yang diperbarui Salin/Tempel Kode di bawah ini: ____________________________________________________________ Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range(" D:D")) Tidak Ada Lalu Keluar Sub Target.Offset (0, 2) = Tanggal Akhir Sub ___ _________________________________________________________ Semoga berhasil...
Komentar ini diminimalkan oleh moderator di situs
kode ini akan menunjukkan tanggal saat klik itu muncul, apakah mungkin untuk menampilkan tanggal hanya ketika konten di sel diubah, jika hanya diklik dan tidak ada yang berubah, maka tanggal tidak muncul atau tanggal yang dimasukkan sebelumnya tetap?
Komentar ini diminimalkan oleh moderator di situs
Ketika saya merekam di makro formula vloocup jadi bagaimana saya bisa melakukannya tanggal itu secara otomatis berubah menjadi 1 hari ke atas Seperti 21/07/2017 lalu hari berikutnya berubah menjadi 22/07/2017 Secara otomatis tolong bagikan jika ada kode vba.
Komentar ini diminimalkan oleh moderator di situs
ganti baris ini
Rng.Offset(0, xOffsetColumn).Nilai = Sekarang

untuk
Rng.Offset(0, xOffsetColumn).Nilai = Sekarang+1
Komentar ini diminimalkan oleh moderator di situs
Terima kasih banyak untuk kodenya! Persis apa yang saya cari!!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih untuk bantuannya :-)
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan