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

Bagaimana cara melindungi sel berdasarkan tanggal di Excel?

Biasanya, kami dapat melindungi lembar kerja untuk mencegah orang lain mengedit atau mengubah nilai sel, tetapi, terkadang, Anda perlu melindungi sel berdasarkan tanggal. Misalnya, saya ingin melindungi sel lain tetapi hanya mengizinkan nilai sel dari tanggal hari ini untuk dimodifikasi seperti gambar berikut yang ditampilkan, artikel ini akan berbicara tentang cara melindungi sel berdasarkan tanggal.

doc lindungi pada tanggal 1

Lindungi semua baris kecuali baris tanggal hari ini dengan kode VBA

Lindungi semua baris yang tanggal telah berlalu dengan kode VBA


panah gelembung kanan biru Lindungi semua baris kecuali baris tanggal hari ini dengan kode VBA

Hanya izinkan baris yang sama dengan tanggal hari ini untuk dimodifikasi, kode berikut dapat membantu Anda, lakukan seperti ini:

1. Klik kanan tab lembar yang ingin Anda proteksi sel berdasarkan tanggal, lalu pilih Lihat kode dari menu konteks, di-pop-out Microsoft Visual Basic untuk Aplikasi jendela, silakan salin dan tempel kode berikut ke dalam Modul kosong:

Kode VBA: Lindungi semua baris kecuali baris tanggal hari ini:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
    If Range("E" & Selection.Row).Value <> Date Then
        ActiveSheet.Protect Password:="111111"
        MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
    ElseIf Range("E" & Selection.Row).Value = Date Then
        ActiveSheet.Unprotect Password:="111111"
        ActiveSheet.EnableSelection = xlNoRestrictions
    End If
End Sub

doc lindungi pada tanggal 2

Note: Dalam kode di atas, huruf E adalah tajuk kolom tempat tanggalnya berada, "111111"Adalah kata sandi untuk melindungi lembar ini. Anda dapat mengubahnya sesuai kebutuhan Anda.

2. Kemudian simpan dan tutup jendela kode ini.

(1.) Jika Anda mengklik sel lain di luar baris tanggal hari ini, kotak prompt akan muncul untuk mengingatkan Anda bahwa sel tidak dapat diedit, lihat tangkapan layar:

doc lindungi pada tanggal 3

(2.) Jika Anda mengklik dan mengedit baris sama dengan tanggal hari ini, itu akan berhasil diubah, lihat tangkapan layar:

doc lindungi pada tanggal 4


panah gelembung kanan biru Lindungi semua baris yang tanggal telah berlalu dengan kode VBA

Jika Anda perlu melindungi semua baris yang telah lewat tanggal, hanya izinkan baris tanggal hari ini dan yang akan datang untuk diubah, harap terapkan kode VBA berikut:

1. Klik kanan tab lembar yang ingin Anda proteksi sel berdasarkan tanggal, lalu pilih Lihat kode dari menu konteks, di-pop-out Microsoft Visual Basic untuk Aplikasi jendela, silakan salin dan tempel kode berikut ke dalam Modul kosong:

Kode VBA: Lindungi semua baris tanggal telah berlalu:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
  Dim xRow As Long
  xRow = 2
  ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
  ThisWorkbook.ActiveSheet.Cells.Locked = False
  Do Until IsEmpty(Cells(xRow, 5))
    If Cells(xRow, 5) < Date Then
      Rows(xRow).Locked = True
    End If
    xRow = xRow + 1
  Loop
  ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub

doc lindungi pada tanggal 5

Note: Pada kode di atas, angka 5 adalah nomor kolom tempat tanggal berada, "111111"Adalah kata sandi untuk melindungi lembar ini. Anda dapat mengubahnya sesuai kebutuhan Anda.

3. Kemudian simpan dan tutup jendela kode ini.

(1.) Jika Anda mengklik tanggal sel telah berlalu, kotak prompt akan muncul untuk mengingatkan Anda bahwa sel tidak dapat diedit, lihat tangkapan layar:

doc lindungi pada tanggal 6

(2.) Jika Anda mengklik sel baris untuk mencoba mengubah nilai pada tanggal hari ini atau tanggal yang akan datang, itu akan berhasil dimodifikasi, lihat tangkapan layar:

doc lindungi pada tanggal 7


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 (30)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Celah: Kata sandi dapat dilihat oleh orang lain dengan menggunakan opsi "Lihat Kode".
Komentar ini diminimalkan oleh moderator di situs
tidak berfungsi karena semua sel menunjukkan pesan tetapi dapat diedit
Komentar ini diminimalkan oleh moderator di situs
Hai, apakah mungkin mengunci kolom pada tanggal tepat di atas kolom?
Komentar ini diminimalkan oleh moderator di situs
Sub worksheet_Change Pribadi (ByVal Target Sebagai Rentang)

'Berlangganan http://youtube.com/excel10tutorial

'Dukung channel ini dengan berdonasi http://patreon.com/excel10tutorial

Dim col As Range

'Tetapkan nama lembar yang benar di sini:

Dengan Buku Kerja Ini.Sheets("AGOSTO-22")

.Buka proteksi "ABCDE"

Untuk Setiap kolom di .UsedRange.Columns

col.EntireColumn.Locked = col.Range("A1").Nilai <> Tanggal

kolom berikutnya

.Lindungi "ABCDE"

.EnableSelection = xlNoRestrictions

Berakhir dengan

End Sub
Komentar ini diminimalkan oleh moderator di situs
hai apakah mungkin untuk mengunci sel-sel tertentu tergantung pada tanggal yang tepat di atas mereka dalam sebuah kolom?
Komentar ini diminimalkan oleh moderator di situs
Hai, Lusi,
Bisakah Anda memberikan masalah Anda lebih spesifik? Atau Anda dapat melampirkan tangkapan layar sebagai masalah Anda.
Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hai skyyang

Ya di sini adalah tangkapan layar. Semoga ini membantu.
Komentar ini diminimalkan oleh moderator di situs
Ini dia.
Komentar ini diminimalkan oleh moderator di situs
Halo, Lucis,
Apakah maksud Anda mengunci kolom tanggal yang sudah lewat, dan hanya kolom hari ini dan hari mendatang yang dapat dimodifikasi?
Komentar ini diminimalkan oleh moderator di situs
Benar! Bagaimana saya akan melakukannya?
Komentar ini diminimalkan oleh moderator di situs
Hai, Luis,
Bagaimana dengan sel tanggal di A1? Apakah dimasukkan secara manual atau dimasukkan dengan rumus =now()? Jika itu adalah sel rumus, kolom yang dikunci akan diubah dengan perubahan tanggal.
Menunggu balasanmu!
Komentar ini diminimalkan oleh moderator di situs
Hai Skyyangg

ya sel A1 memiliki rumus =now() .

terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Halo.....


Saya menggunakan kode untuk Lindungi semua baris kecuali baris tanggal hari ini........



Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
'Perbarui oleh Extendoffice 20161025
If Range("A" & Selection.Row).Nilai <> Tanggal Lalu
ActiveSheet.Protect Password:="111111"
MsgBox "Hanya baris tanggal hari ini yang dapat diedit!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Nilai = Tanggal Kemudian
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub


Setelah saya menyimpan saya dan mengklik sel saya mendapatkan pesan hanya baris tanggal hari ini yang dapat diedit .... tetapi jika saya mengklik dua kali sel, saya dapat mengedit ... tolong bantu
Komentar ini diminimalkan oleh moderator di situs
Ini bekerja dengan baik. tetapi bagaimana saya bisa mengubahnya untuk membuka kunci kolom berdasarkan tanggal di baris 3?
Komentar ini diminimalkan oleh moderator di situs
Sebagai seseorang yang relatif baru mengenal VBA, maukah Anda menjelaskan mengapa xRow = 2 di Baris 4?



Terima kasih
Komentar ini diminimalkan oleh moderator di situs
karena pada baris no. 1 Anda memiliki tajuk
Komentar ini diminimalkan oleh moderator di situs
Hai,

saat menjalankan kode ini saya mendapatkan kesalahan seperti yang ditunjukkan pada gambar
Saya juga melampirkan snapshot excel saya di mana saya ingin membuat perubahan ..

Bisakah Anda memandu dalam kode saya di mana saya harus membuat perubahan sesuai dengan file excel saya sehingga sel yang hanya berisi hari ini & tanggal mendatang dapat diedit ???
Komentar ini diminimalkan oleh moderator di situs
Halo, Karan,
Karena ada sel yang digabungkan di tabel Anda, kode di atas tidak dapat diterapkan dengan benar di tabel sel yang digabungkan.
Jika Anda memiliki ide bagus lainnya, silakan beri komentar di sini. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Halo, saya mencoba melakukan hal yang sama tetapi untuk Melindungi semua kolom kecuali kolom tanggal hari ini dengan kode VBA dengan mengganti "Selection.Row" dengan "Selection.Columns" dan "E" dengan "5" (nomor baris tempat tanggal), tetapi Saya terus menerima kesalahan 1004!

Tolong ada bantuan?

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Halo, saya mencoba melakukan hal yang sama tetapi untuk Melindungi semua kolom kecuali kolom tanggal hari ini dengan kode VBA dengan mengganti "Selection.Row" dengan "Selection.Columns" dan "E" dengan "5" (nomor baris tempat tanggal), tetapi Saya terus menerima kesalahan 1004!

Tolong ada bantuan?

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Halo,
Untuk menerapkan kode ini ke kolom yang Anda butuhkan, silakan gunakan kode VBA berikut: (Catatan: Dalam kode, 5 adalah nomor baris yang berisi tanggal, silakan ubah sesuai kebutuhan Anda.)

Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
Redupkan xRg Sebagai Rentang
Tetapkan xRg = Target.Worksheet.Cells(5, Target.Column)
Jika xRg <> Tanggal Kemudian
ActiveSheet.Protect Password:="111111"
MsgBox "Hanya baris tanggal hari ini yang dapat diedit!", vbInformation, "Kutools for Excel"
ElseIf xRg.Value = Tanggal Kemudian
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub

Silakan dicoba, semoga bisa membantu Anda!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih! Maaf, saya tidak mendapatkan balasan Anda sampai sekarang, mungkin ada masalah di email saya.

Itu berhasil! Tidak bisa mengatakan terima kasih cukup! Saya sangat menghargainya!
Komentar ini diminimalkan oleh moderator di situs
Hai,
Senang bisa membantu Anda!
Komentar ini diminimalkan oleh moderator di situs
Hai,

Saya mencoba memperluas ini untuk melindungi kolom yang tidak menyertakan bulan ini atau/dan minggu ini. Saya mencoba mengganti "Tanggal" dengan "bulan" atau "minggu", tetapi tidak berhasil.

Saya telah melampirkan contoh lembar minggu di mana pengguna tidak dapat mengedit atau mengetik kolom selain minggu ini.

Ada saran tentang itu? atau haruskah saya menggunakan tanggal aktual untuk mencerminkan hari dalam sebulan?
Komentar ini diminimalkan oleh moderator di situs
Terima kasih atas bantuan Anda, Terima kasih banyak sobat, Ini sangat membantu. dan memecahkan ketegangan saya.
Aman
SalamRohit Khanna
Komentar ini diminimalkan oleh moderator di situs
Hai Saya menghadapi satu masalah, setelah saya menutup file dan membukanya kembali pada tanggal yang sama, kode tidak berfungsi. tolong bantu saya terjebak
Komentar ini diminimalkan oleh moderator di situs
Hai, rohit,
Untuk menyimpan kode, sebaiknya simpan buku kerja Anda sebagai format Buku Kerja Excel Macro-Enabled, silakan coba, terima kasih!
Komentar ini diminimalkan oleh moderator di situs
halo saya melakukannya tetapi ketika saya menekan pesan sel menunjukkan bahwa itu tidak dapat diedit tetapi ketika saya menekan keyborad saya masih bisa menulis di sel
Komentar ini diminimalkan oleh moderator di situs
Halo, saya ingin melindungi hari-hari mendatang dan mengizinkan pengeditan hari ini dan hari-hari sebelumnya. Bagaimana aku melakukan itu?
Komentar ini diminimalkan oleh moderator di situs
Halo, Miguel,Untuk melindungi masa depan, harap terapkan kode di bawah ini: Sub Worksheet_Change Pribadi (Target ByVal Sebagai Excel.Range)
'Perbarui oleh Extendoffice
Redupkan xRow Selamanya
xBaris = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = Salah
Lakukan Hingga Kosong(Sel(xRow, 5))
Jika Sel(xRow, 5) > Tanggal Lalu
Baris(xRow).Terkunci = Benar
End If
xBaris = xBaris + 1
Lingkaran
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End SubSilakan dicoba, semoga bisa membantu Anda!
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan