• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hücreye ikinci kez veri girişini engelleme.

Katılım
1 Ekim 2018
Mesajlar
54
Excel Vers. ve Dili
10 türkçe
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?
 
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
 
İ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
 
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

İ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
 
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
 
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

Son satırda harf hatası vardı düzelttim. Sizde düzeltip deneyiniz.
 
Sayın Korhan bey;
İlgi ve yardımıznız için teşekkürler.
 
Geri
Üst