Hücreye ikinci kez veri girişini engelleme.

Katılım
1 Ekim 2018
Mesajlar
54
Excel Vers. ve Dili
10 türkçe
Altın Üyelik Bitiş Tarihi
08-01-2024
Arkadaşlar merhaba;
Excel de bir hücreye/hücrelere bir kez veri girdikten sonra aynı hücreye ya da hücrelere ikinci kez veri girilmesini engelleyebilir miyiz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,167
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Öncelikle bu işlemi yapmak istediğiniz sayfadaki tüm hücreleri seçiniz.
Seçili alan üzerinde sağ tıklayıp hücreleri biçimlendir menüsünü açınız.
En son sekme olan koruma sekmesine tıklayıp "KİLİTLİ" seçeneğindeki onayı kaldırınız.

Sonra sayfanızın kod bölümüne aşağıdaki kodu uygulayınız.

Son olarak excel sayfasına dönüp hücrelere bir şeyler yazıp denemeler yapınız.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Len(Target) > 0 Then
        ActiveSheet.Unprotect
        Target.Locked = True
        ActiveSheet.Protect
    End If
End Sub
 

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
557
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
İyi Günler;
Güzel uygulama ancak, dolu hücredeki veriyi değiştirmek istediğim zaman ne yapacağız?
Diğer taraftan dolu hücredeki veriyi değiştirek istediğimizde şifre ile girip değiştirmek mümküm olabilir mi
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,167
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ekteki dosyayı inceleyiniz.

Hücrelere veri girişi yapın. Sonrasında değiştirmek istediğiniz hücreye çift tıklayıp adımları izleyin.

İşlem parolası 12345
 

Ekli dosyalar

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
557
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
557
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
İyi Günler;
Korhan bey, tablomun hangi satırda bulunduğunu belirlemek için aşağıdaki kodla renkleniyor. uygulamınız kendi tabloma uyguladığımda hata vermektedir.


'Satır renklendirme
Cells.Interior.ColorIndex = xlNone
If Intersect(Target, [A5:AG10000]) Is Nothing Then Exit Sub
If ActiveSheet.Range("G" & ActiveCell.Row) > 0 Then
Range(Cells(Target.Row, 2), Cells(Target.Row, 33)).Interior.ColorIndex = 36
With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
Else

End If
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,167
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfa korumaya alındığı için işlem yapmak istediğinizde hata verecektir.

Renklendirme kodlarının en başına aşağıdaki satırı ekleyin.

ActiveSheet.Unprotect 12345

Kodların bitimine ise aşağıdaki satırı ekleyip deneyiniz.

ActiveSheet.Protect 12345
 

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
557
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
Sayın Korhan bey;

Yukarıdaki açıklamanıza göre kodda değişiklik yaptım. Ancak, dolu hücredeki veriyi değiştirmek istediğimde çift tıklamama gerek kalmadan değiştirmekte. Nerede hata etmiş olabilierim. Teşekkürler.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next

'Satır renklendirme
ActiveSheet.Unprotect 12345
Cells.Interior.ColorIndex = xlNone
If Intersect(Target, [A5:AG10000]) Is Nothing Then Exit Sub
If ActiveSheet.Range("G" & ActiveCell.Row) > 0 Then
Range(Cells(Target.Row, 2), Cells(Target.Row, 33)).Interior.ColorIndex = 36
With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
Else
End If
ActiveSheet.Pprotect 12345
End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,167
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Son satırda harf hatası vardı düzelttim. Sizde düzeltip deneyiniz.
 

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
557
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
Sayın Korhan bey;
İlgi ve yardımıznız için teşekkürler.
 
Üst