Excel'de tarihe göre hücreler nasıl korunur?
Normalde, başkalarının hücre değerlerini düzenlemesini veya değiştirmesini önlemek için çalışma sayfasını koruyabiliriz, ancak bazen hücreleri tarihe göre korumanız gerekir. Örneğin, diğer hücreleri korumak istiyorum, ancak yalnızca bugünün tarihinin hücre değerlerinin aşağıda gösterilen ekran görüntüsü gibi değiştirilmesine izin veriyorum, bu makale hücrelerin tarihe göre nasıl korunacağından bahsedecek.
Bugünün tarih satırı dışındaki tüm satırları VBA kodu ile koruyun
VBA kodu ile tarihin geçtiği tüm satırları koruyun
Bugünün tarih satırı dışındaki tüm satırları VBA kodu ile koruyun
Yalnızca bugünün tarihine denk gelen satırın değiştirilmesine izin verin, aşağıdaki kod size yardımcı olabilir, lütfen şunu yapın:
1. Hücreleri tarihe göre korumak istediğiniz sayfa sekmesine sağ tıklayın ve ardından Kodu Görüntüle bağlam menüsünden, açılır pencerede Uygulamalar için Microsoft Visual Basic penceresi, lütfen aşağıdaki kodu boş Modüle kopyalayıp yapıştırın:
VBA kodu: Bugünün tarih satırı dışındaki tüm satırları koruyun:
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
not: Yukarıdaki kodda, harf E tarihin bulunduğu sütun başlığıdır, "111111"Bu sayfayı korumak için paroladır. Bunları ihtiyacınıza göre değiştirebilirsiniz.
2. Ardından bu kod penceresini kaydedin ve kapatın.
(1.) Bugünün tarih satırının dışındaki diğer hücrelere tıklarsanız, hücrenin düzenlenemeyeceğini hatırlatmak için bir istem kutusu açılır, ekran görüntüsüne bakın:
(2.) Tıklar ve satırın bugünün tarihine eşit olduğunu düzenlerseniz, başarıyla değiştirilecektir, ekran görüntüsüne bakın:
VBA kodu ile tarihin geçtiği tüm satırları koruyun
Tarihin geçtiği tüm satırları korumanız gerekiyorsa, yalnızca bugün ve gelecekteki tarih satırlarının değiştirilmesine izin verin, lütfen aşağıdaki VBA kodunu uygulayın:
1. Hücreleri tarihe göre korumak istediğiniz sayfa sekmesine sağ tıklayın ve ardından Kodu Görüntüle bağlam menüsünden, açılır pencerede Uygulamalar için Microsoft Visual Basic penceresi, lütfen aşağıdaki kodu boş Modüle kopyalayıp yapıştırın:
VBA kodu: Tüm satırları koru tarihi geçti:
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
not: Yukarıdaki kodda numara 5 tarihin bulunduğu sütun numarasıdır, "111111"Bu sayfayı korumak için paroladır. Bunları ihtiyacınıza göre değiştirebilirsiniz.
3. Ardından bu kod penceresini kaydedin ve kapatın.
(1.) Hücrelerin tarihinin geçtiğini tıklarsanız, hücrenin düzenlenemeyeceğini hatırlatmak için bir istem kutusu açılır, ekran görüntüsüne bakın:
(2.) Bugünün tarihindeki veya gelecekteki tarihlerdeki değerleri değiştirmeye çalışmak için satır hücresine tıklarsanız, başarıyla değiştirilecektir, ekran görüntüsüne bakın:
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!