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

Bagaimana cara mengisi tanggal secara otomatis di sel ketika sel yang berdekatan diperbarui di Excel?

Terkadang, saat memperbarui sel di kolom tertentu, Anda mungkin ingin menandai tanggal terbaru tentang pembaruan tersebut. Artikel ini akan merekomendasikan metode VBA untuk mengatasi masalah ini. Saat sel diperbarui, sel yang berdekatan akan segera terisi secara otomatis dengan tanggal saat ini.

Secara otomatis mengisi tanggal saat ini di sel ketika sel yang berdekatan diperbarui dengan kode VBA


Secara otomatis mengisi tanggal saat ini di sel ketika sel yang berdekatan diperbarui dengan kode VBA

Misalkan data yang perlu Anda perbarui terletak di kolom B, dan ketika sel di kolom B diperbarui, tanggal saat ini akan diisi di sel yang berdekatan dari kolom A. Lihat tangkapan layar:

Anda dapat menjalankan kode VBA berikut untuk mengatasi masalah ini.

1. Klik kanan tab lembar yang Anda perlukan untuk mengisi tanggal secara otomatis berdasarkan sel yang diperbarui yang berdekatan, lalu klik Lihat kode dari menu klik kanan.

2. Di jendela Microsoft Visual Basic for Applications, harap salin dan tempel kode VBA di bawah ini ke jendela Kode.

Kode VBA: otomatis mengisi tanggal saat ini di sel saat sel yang berdekatan diperbarui

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updated by Extendoffice 2017/10/12
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    If (Target.Count = 1) Then
        If (Not Application.Intersect(Target, Me.Range("B:B")) Is Nothing) Then _
            Target.Offset(0, -1) = Date
        Application.EnableEvents = False
        Set xRg = Application.Intersect(Target.Dependents, Me.Range("B:B"))
        If (Not xRg Is Nothing) Then
            For Each xCell In xRg
                xCell.Offset(0, -1) = Date
            Next
        End If
        Application.EnableEvents = True
    End If
End Sub

Catatan:

1). Dalam kode, B: B berarti bahwa data yang diperbarui terletak di kolom B.
2). -1 menunjukkan bahwa tanggal sekarang akan diisi di salah satu kolom kiri kolom B. Jika Anda ingin tanggal sekarang diisi di kolom C, ubah -1 menjadi 1.

3. tekan lain + Q kunci sekaligus untuk menutup Microsoft Visual Basic untuk Aplikasi jendela.

Mulai sekarang, saat memperbarui sel di kolom B, sel yang berdekatan di kolom A akan segera diisi dengan tanggal saat ini. Lihat tangkapan layar:


Artikel terkait:


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 (46)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih. Ini sangat membantu. Tetapi ketika saya menghapus baris atau menambahkan baris, ini memberikan kesalahan Run-time 13 Type mismatch. Bagaimana mengatasi masalah ini. Mengharapkan pengembalian ASAP.
Komentar ini diminimalkan oleh moderator di situs
Jisnu yang terhormat,
Masalah yang Anda sebutkan tidak muncul dalam kasus saya. Bisakah Anda memberikan versi Office Anda?
Komentar ini diminimalkan oleh moderator di situs
Saya memiliki satu set lembar kerja excel berjudul senin, selasa, rabu, dll. Saya perlu meletakkan tanggal awal pada hari Senin di sel a1, dan mengisinya dengan tanggal berikutnya untuk selasa sampai Jumat di sel a1 pada masing-masing lembar itu. Saya sama sekali tidak melek kode, jadi saya hanya perlu tahu apa rumus sederhana yang bisa saya masukkan di sana. :) terima kasih!
Komentar ini diminimalkan oleh moderator di situs
sayang lea,
Anda hanya perlu menggunakan rumus =senin!A1+1 pada lembar selasa, =selasa!A1+1 pada lembar rabu dan seterusnya...
Komentar ini diminimalkan oleh moderator di situs
Bisakah ini dilakukan pada sel yang berisi rumus?
Komentar ini diminimalkan oleh moderator di situs
Tami yang terhormat,
Kode telah diperbarui. Ini dapat dilakukan pada sel yang berisi rumus sekarang. Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
Terima kasih itu berfungsi dengan baik, tetapi ketika harus menutup dan menyimpan saya mendapatkan kesalahan bahwa fitur "proyek VB" tidak dapat disimpan dalam buku kerja bebas makro. Mohon saran
Komentar ini diminimalkan oleh moderator di situs
Terima kasih itu berfungsi dengan baik, tetapi ketika harus menutup dan menyimpan saya mendapatkan kesalahan bahwa fitur "proyek VB" tidak dapat disimpan dalam buku kerja bebas makro. Mohon saran
Komentar ini diminimalkan oleh moderator di situs
Anda hanya perlu "menyimpan sebagai" buku kerja yang mendukung makro excel....
Komentar ini diminimalkan oleh moderator di situs
Apakah Anda dapat menggunakan fungsi ini dua kali pada lembar yang sama? yaitu jika saya ingin membuat entri di kolom B ke kolom stempel waktu A DAN memasukkan entri di kolom D ke kolom stempel waktu C. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Saya membuat ini berfungsi dengan melakukan hal berikut:


Sub Worksheet_Change Pribadi (Target ByVal Sebagai Excel.Range)
'Diperbaharui oleh Extendoffice 2017 / 10 / 12
Redupkan xRg Sebagai Rentang, xCell Sebagai Rentang
On Error Resume Next
Jika (Target.Count = 1) Maka
If (Not Application.Intersect(Target, Me.Range("B:B")) Tidak Ada) Kemudian _
Target.Offset(0, -1) = Tanggal
Application.EnableEvents = Salah
Tetapkan xRg = Application.Intersect(Target.Dependents, Me.Range("B:B"))
Jika (Bukan xRg Bukan Apa-apa) Maka
Untuk Setiap xCell Dalam xRg
xCell.Offset(0, -1) = Tanggal
Next
End If
Application.EnableEvents = Benar
End If


On Error Resume Next
Jika (Target.Count = 1) Maka
If (Not Application.Intersect(Target, Me.Range("D:D")) Tidak Ada) Kemudian _
Target.Offset(0, -1) = Tanggal
Application.EnableEvents = Salah
Tetapkan xRg = Application.Intersect(Target.Dependents, Me.Range("D:D"))
Jika (Bukan xRg Bukan Apa-apa) Maka
Untuk Setiap xCell Dalam xRg
xCell.Offset(0, -1) = Tanggal
Next
End If
Application.EnableEvents = Benar
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai,

Adakah yang bisa menyarankan kode ketika saya memasukkan nomor di kolom A dan Kolom B dan di Kolom CI menyimpan rumus seperti Kolom A + Kolom B. Sekarang saya membutuhkan kode vba yang dapat memberikan waktu dan tanggal di Kolom D setiap kali Kolom C berubah tidak pada saat memasukkan angka pada Kolom A dan B.
Komentar ini diminimalkan oleh moderator di situs
Selamat siang,
Setiap pertanyaan tentang Excel, jangan ragu untuk memposting di forum kami: https://www.extendoffice.com/forum.html.
Anda akan mendapatkan lebih banyak dukungan tentang Excel dari profesional Excel kami.
Komentar ini diminimalkan oleh moderator di situs
HI - baru mengenal VBA - Saya ingin mengulang kode - Kode VBA: otomatis mengisi tanggal saat ini dalam sel ketika sel yang berdekatan diperbarui sehingga setelah sel diperbarui dengan tanggal, lalu lanjutkan dengan mengatakan "J:J" dan perbarui K dengan tanggal lalu lakukan 2 kali lagi. Tidak yakin apakah itu loop atau untuk? Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Nevermind...Saya mencoba tanggapan John di bawah ini dan berhasil - terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Saya menggunakan kode ini untuk mengisi kolom secara otomatis dan sekarang ingin mengisi lebih banyak kolom secara otomatis berdasarkan tanggal yang dimasukkan ke dalam kolom H. Dengan kata lain, setelah tanggal dimasukkan, dapatkah saya mengisi kolom secara otomatis untuk menambahkan tanggal 90, 60, dan 30 hari keluar ?
Komentar ini diminimalkan oleh moderator di situs
Hai Tracey,
Kode VBA berikut dapat membantu Anda memecahkan masalah tersebut. Silakan coba.

Sub Worksheet_Change Pribadi (Target ByVal Sebagai Excel.Range)
Redupkan xRg Sebagai Rentang, xCell Sebagai Rentang
Redupkan xRgAddress Sebagai String
xRgAlamat = "H:H"
On Error Resume Next
Jika (Target.count = 1) Maka
Jika (Bukan Application.Intersect(Target, Me.Range(xRgAddress)) Tidak Ada) Lalu
Target.Offset (0, 1) = Tanggal + 90
Target.Offset (0, 2) = Tanggal + 60
Target.Offset (0, 3) = Tanggal + 30
End If
Application.EnableEvents = Salah
Tetapkan xRg = Application.Intersect(Target.Dependents, Me.Range(xRgAddress))
Jika (Bukan xRg Bukan Apa-apa) Maka
Untuk Setiap xCell Dalam xRg
xCell.Offset(0, 1) = Tanggal + 90
xCell.Offset(0, 2) = Tanggal + 60
xCell.Offset(0, 3) = Tanggal + 30
Next
End If
Application.EnableEvents = Benar
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai. Saya mencoba menggunakan "Otomatis Mengisi Tanggal Saat Ini Di Sel Saat Sel Berdekatan Diperbarui Dengan Kode VBA". Ini berfungsi pada Lembar 1, tetapi saya memiliki 11 lembar lain yang saya perlukan kodenya untuk dikerjakan. Mohon saran. Saya sama sekali tidak paham VBA, jadi saya menghargai bantuan apa pun yang bisa saya dapatkan!

Terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hai Gween,
Harap ulangi langkah-langkah untuk menyalin kode ke lembar lain. Ini mungkin membosankan, tetapi berhasil.
Komentar ini diminimalkan oleh moderator di situs
Halo, saya butuh bantuan. Saya mencoba mengisi tanggal saat ini ke dalam kolom A jika ada sel B hingga N yang dimodifikasi. Offset membuat saya pergi. Bisakah kode ini ditulis untuk secara otomatis mengisi tanggal di Kolom A secara khusus?
Komentar ini diminimalkan oleh moderator di situs
Hai Joe,
Kode VBA di bawah ini dapat membantu Anda memecahkan masalah. Silahkan dicoba dan terima kasih atas komentarnya.

Sub Worksheet_Change Pribadi (Target ByVal Sebagai Excel.Range)
'Diperbaharui oleh Extendoffice 20190924
Redupkan xRg Sebagai Rentang, xCell Sebagai Rentang
Redupkan xInt Sebagai Integer
On Error Resume Next
Jika (Target.Count = 1) Maka
If (Bukan Application.Intersect(Target, Me.Range("B:N")) Tidak Ada) Lalu
Application.EnableEvents = Salah
xInt = Target.Baris
Me.Range("A" & xInt).Nilai = Tanggal
Application.EnableEvents = Benar
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo, Dapatkah saya mengatur tanggal dan waktu untuk mengisi?
Komentar ini diminimalkan oleh moderator di situs
Hai Biara,
Dalam kode di atas, silakan ganti baris ini
"xCell.Offset(0, -1) = Tanggal"
dengan
"xCell.Offset(0, -1) = Format(Sekarang(), "yyyy-MM-dd jj:mm:dd")".
Semoga saya bisa membantu. Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
ini tidak menambah waktu ... apakah ada cara lain?
Komentar ini diminimalkan oleh moderator di situs
Anda harus mengubahnya di 2 tempat, jika Anda melihat kode asli, tanggal ada di 2 tempat, ubah keduanya dengan Format (Sekarang (), "yyyy-MM-dd hh:mm:ss")
Komentar ini diminimalkan oleh moderator di situs
Halo, apakah ada cara untuk membuat kolom (A) secara otomatis diisi dengan tanggal saat memasukkan nilai ke sel mana pun di baris yang sama?
Komentar ini diminimalkan oleh moderator di situs
Hai Harry,
Kode VBA di bawah ini dapat membantu Anda memecahkan masalah. Harap tentukan rentang sebanyak mungkin dalam kode. Terima kasih atas komentarmu.

Sub Worksheet_Change Pribadi (Target ByVal Sebagai Excel.Range)
'Diperbaharui oleh Extendoffice 20191017
Redupkan xRg Sebagai Rentang, xCell Sebagai Rentang
Redupkan xInt Sebagai Integer
On Error Resume Next
Jika (Target.Count = 1) Maka
If (Bukan Application.Intersect(Target, Me.Range("B:BP")) Tidak Ada) Lalu
Application.EnableEvents = Salah
xInt = Target.Baris
Me.Range("A" & xInt).Nilai = Tanggal
Application.EnableEvents = Benar
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
saya pikir perubahan diperlukan untuk baris 7 juga...
Komentar ini diminimalkan oleh moderator di situs
Adakah yang tahu jika ada cara untuk mengisi dan mengunci secara otomatis untuk mencegah penginput mengubah tanggal? Ketika saya mengunci sel dan melindungi dokumen maka sel tidak terisi sama sekali.
Komentar ini diminimalkan oleh moderator di situs
Saya tidak ingin memasukkan tanggal tetapi nilai konstan dalam sel, misalnya: angka atau string teks. tolong sarankan perubahan kode untuk hal yang sama.
Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Hai, Jika Anda ingin memasukkan nomor, silakan ganti teksnya Tanggal pada pengatur terkenal. Pengatur ini menawarkan bantuan hukum kepada traderapabila trader berselisih dengan broker yang terdaftar dengan mereka. jumlah langsung dalam kode. Untuk memasukkan string teks, silakan ganti teks Tanggal dalam kode dengan "Anda teks string" (tanda kutip ganda disertakan).
Sub Worksheet_Change Pribadi (Target ByVal Sebagai Excel.Range)
'Diperbaharui oleh Extendoffice 2020 / 09 / 28
Redupkan xRg Sebagai Rentang, xCell Sebagai Rentang
On Error Resume Next
Jika (Target.Count = 1) Maka
If (Not Application.Intersect(Target, Me.Range("B:B")) Tidak Ada) Kemudian _
Target.Offset(0, -1) = "string teks" 'Atau langsung masukkan angka
Application.EnableEvents = Salah
Tetapkan xRg = Application.Intersect(Target.Dependents, Me.Range("B:B"))
Jika (Bukan xRg Bukan Apa-apa) Maka
Untuk Setiap xCell Dalam xRg
xCell.Offset(0, -1) = "string teks" 'Atau langsung masukkan angka
Next
End If
Application.EnableEvents = Benar
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Saya memasukkan kode ini ke dalam buku kerja excel saya dan tidak ada yang terjadi. Adakah yang bisa membantu? Idealnya, saya ingin ketika sesuatu dimasukkan ke dalam kolom A, waktu akan dimasukkan ke dalam kolom B.
Komentar ini diminimalkan oleh moderator di situs
Hai chapo, Coba kode di bawah ini. Semoga saya bisa membantu. Sub Worksheet_Change Pribadi (Target ByVal Sebagai Excel.Range)
'Diperbaharui oleh Extendoffice 2020 / 10 / 12
Redupkan xRg Sebagai Rentang, xCell Sebagai Rentang
On Error Resume Next
Jika (Target.Count = 1) Maka
If (Not Application.Intersect(Target, Me.Range("A:A")) Tidak Ada) Kemudian _
Target.Offset (0, 1) = Waktu
Application.EnableEvents = Salah
Tetapkan xRg = Application.Intersect(Target.Dependents, Me.Range("A:A"))
Jika (Bukan xRg Bukan Apa-apa) Maka
Untuk Setiap xCell Dalam xRg
xCell.Offset(0, 1) = Waktu
Next
End If
Application.EnableEvents = Benar
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai, saya menggunakan kode Anda sebagai referensi. Saya ingin bertanya apakah mungkin untuk memiliki yang berikut:1. Mencegah entri tanggal duplikat2. Memiliki 2 input makro secara bersamaan : Target.Offset(0,-1), Target,Offset(0,1)3. Mungkinkah menyisipkan gambar secara otomatis ke sel?
Sedang mencoba mencari tahu sendiri tetapi sepertinya saya tidak dapat menemukan sumber daya online yang dapat membantu saya
Komentar ini diminimalkan oleh moderator di situs
Halo, formula ini bekerja dengan baik. Namun, apakah ada cara untuk mengaturnya agar hanya memperbarui sel di kolom A jika kosong?  
Komentar ini diminimalkan oleh moderator di situs
Hai Matt, Maaf, saya tidak begitu mengerti maksud Anda. Bisakah Anda mencoba lebih spesifik tentang pertanyaan Anda, atau memberikan tangkapan layar dari apa yang Anda coba lakukan?
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan