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

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.

tarihe göre doc protect 1

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


ok mavi sağ balon 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

tarihe göre doc protect 2

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:

tarihe göre doc protect 3

(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:

tarihe göre doc protect 4


ok mavi sağ balon 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

tarihe göre doc protect 5

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:

tarihe göre doc protect 6

(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:

tarihe göre doc protect 7


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

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!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (30)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Açıklık: "Kodu Görüntüle" seçeneği kullanılarak şifre başkaları tarafından görülebilir.
Bu yorum sitedeki moderatör tarafından en aza indirildi
tüm hücre mesajı gösterdiğinden ancak düzenlenebilir olduğundan çalışmıyor
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, sütunları doğrudan sütunların üzerindeki tarihe göre kilitlemek mümkün mü?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Özel Alt worksheet_Change(Aralık Olarak Değer Hedefine Göre)

'Abone olmak http://youtube.com/excel10tutorial

'Bağış yaparak kanalı destekleyin http://patreon.com/excel10tutorial

Dim col As Aralık

'Burada doğru sayfa adını ayarlayın:

ThisWorkbook.Sheets("AGOSTO-22") ile

."ABCDE" korumasını kaldırın

.UsedRange.Columns içindeki her sütun için

col.EntireColumn.Locked = col.Range("A1").Value <> Tarih

Sonraki sütun

."ABCDE"yi koruyun

.EnableSelection = xlNoRestrictions

İle bitmek

End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba, bir sütunda doğrudan üstlerindeki tarihe bağlı olarak belirli hücreleri kilitlemek mümkün mü?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Lusis,
Sorununuzu daha spesifik olarak verebilir misiniz? Veya sorununuz olarak bir ekran görüntüsü ekleyebilirsiniz.
Teşekkür ederim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba skyyang

Evet, işte bir ekran görüntüsü. Bu yardımcı olur umarım.
Bu yorum sitedeki moderatör tarafından en aza indirildi
İşte.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Lucis,
Geçmiş tarih olan sütunları kilitlemek mi istiyorsunuz ve sadece bugünün ve gelecek günlerin sütunları değiştirilebilir mi?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Doğru! Bu konuda nasıl giderdim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Luis,
A1'deki tarih hücresine ne dersiniz? Elle mi girildi yoksa =şimdi() formülüyle mi girildi? Bir formül hücresi ise, tarih değişiklikleri ile kilitli sütunlar değişecektir.
Cevabınızı dört gözle bekliyorum!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Skyyangg

evet A1 hücresi =now() formülüne sahiptir.

teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba .....


Bugünün tarih satırı hariç tüm satırları koru kodunu kullanıyorum ........



Özel Alt Çalışma Sayfası_SelectionChange (ByVal Target As Range)
'güncelleme Extendoffice 20161025
If Range("A" & Selection.Row).Value <> Date O zaman
ActiveSheet.Protect Parola:="111111"
MsgBox "Yalnızca bugünün tarih satırı düzenlenebilir!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date O zaman
ActiveSheet.Unprotect Parola:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
Eğer son
End Sub


i kaydettikten ve hücreye tıkladıktan sonra mesaj alıyorum sadece bugünün tarih satırı düzenlenebilir... ama hücreye çift tıklarsam düzenleyebilirim... pls yardım
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu harika çalışıyor. ancak 3. satırdaki tarihlere göre bir sütunun kilidini açmak için nasıl değiştirebilirim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
VBA'da nispeten yeni olan biri olarak, 2. Satırda neden xRow = 4 olduğunu açıklar mısınız?



Teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
çünkü sıra no. 1 başlığın var
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,

bu kodu çalıştırırken şekilde gösterildiği gibi bir hata alıyorum
Ayrıca değişiklik yapmak istediğim yere excel'imin bir anlık görüntüsünü ekliyorum ..

Kodumda rehberlik edebilir misiniz, excel dosyama göre nerede değişiklik yapmalıyım, böylece yalnızca bugünün ve gelecekteki tarihi içeren hücrelerin düzenlenebilmesi için ???
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Karan,
Tablonuzda birleştirilmiş hücreler olduğundan, birleştirilmiş hücreler tablosunda yukarıdaki kod doğru uygulanamaz.
Başka iyi fikirleriniz varsa, lütfen buraya yorum yapın. Teşekkür ederim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, ben de aynısını yapmaya çalıştım ama "Selection.Row" yerine "Selection.Columns" ve "E" yerine "5" (tarihlerin olduğu satır numarası) koyarak bugünün tarih sütunu dışındaki tüm sütunları VBA koduyla korumaya çalıştım ama 1004 hatası almaya devam ediyorum!

Herhangi bir yardım lütfen?

teşekkür ederim
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, ben de aynısını yapmaya çalıştım ama "Selection.Row" yerine "Selection.Columns" ve "E" yerine "5" (tarihlerin olduğu satır numarası) koyarak bugünün tarih sütunu dışındaki tüm sütunları VBA koduyla korumaya çalıştım ama 1004 hatası almaya devam ediyorum!

Herhangi bir yardım lütfen?

teşekkür ederim
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,
Bu kodu ihtiyacınız olan sütunlara uygulamak için lütfen aşağıdaki VBA kodunu kullanın:(Not: Kodda, 5 satır numarası tarihi içerir, lütfen ihtiyacınıza göre değiştirin.)

Özel Alt Çalışma Sayfası_SelectionChange (ByVal Target As Range)
Aralık olarak Dim xRg
xRg = Target.Worksheet.Cells(5, Target.Column) ayarla
Eğer xRg <> Tarih O zaman
ActiveSheet.Protect Parola:="111111"
MsgBox "Yalnızca bugünün tarih satırı düzenlenebilir!", vbInformation, "Kutools for Excel"
ElseIf xRg.Value = Tarih Sonra
ActiveSheet.Unprotect Parola:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
Eğer son
End Sub

Lütfen deneyin, umarım size yardımcı olabilir!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Teşekkür ederim! Üzgünüm, şu ana kadar cevabını alamadım, e-postamda bir sorun olabilir.

İşe yaradı! Yeterince teşekkür edemem! Buna gerçekten memnun olurum!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,
Size yardımcı olabileceğine sevindim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,

Bu ayı ve/ve bu haftayı içermeyen sütunları korumak için bunu genişletmeye çalışıyorum. "Tarih"i "ay" veya "hafta" ile değiştirmeye çalıştım ama işe yaramadı.

Kullanıcının bu hafta dışındaki sütunları düzenleyemediği veya yazamadığı haftalar için bir örnek sayfası ekledim.

Bu konuda tavsiyen var mı? yoksa aydaki bir günü yansıtmak için gerçek tarihleri ​​mi kullanmalıyım?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Yardımın için teşekkürler, çok teşekkür ederim dostum, Harika bir yardım. ve gerginliğimi çözdü.
Güvende olun
SaygılarımızlaRohit Khanna
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bir sorunla karşı karşıyayım, dosyayı kapatıp aynı tarihte tekrar açtığımda kod çalışmıyor. lütfen yardım edin sıkışıp kaldım
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba rohit,
Kodu saklamak için çalışma kitabınızı Excel Makro Etkin Çalışma Kitabı biçiminde kaydetmelisiniz, lütfen deneyin, teşekkür ederim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba yaptım ama hücreye bastığımda mesaj düzenlenemeyeceğini gösteriyor ama klavyeye bastığımda hala hücreye yazabiliyorum
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, gelecek günleri korumak, şimdiki ve geçmiş günleri düzenlemeye izin vermek istiyorum. Bunu nasıl yaparım?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Miguel, Gelecek günleri korumak için lütfen aşağıdaki kodu uygulayınız: Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'güncelleme Extendoffice
xRow'u Uzunlukta Karart
xSatır = 2
ThisWorkbook.ActiveSheet.Unprotect Parola:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = Yanlış
IsBoşa Kadar Yap(Cells(xRow, 5))
If Cells(xRow, 5) > Tarih Sonra
Rows(xRow).Kilitli = Doğru
Eğer son
xSatır = xSatır + 1
döngü
ThisWorkbook.ActiveSheet.Protect Parola:="111111"
End SubLütfen deneyin, umarım size yardımcı olabilir!
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır