• DİKKAT

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

Hücreleri veri girdikçe teker teker kilitlemek

Katılım
12 Ocak 2016
Mesajlar
3
Excel Vers. ve Dili
2013 İngilizce
Günaydın sevgili dostlar,
Benim problemim başımı çok ağrıttı. Kendim çözemedim sizin değerli fikirlerinizi ve yardımlarınızı almak istedim.

Problemim şu;
Çalışma sayfasına her veri girişinden sonra veri girilen hücre kilitlensin istiyorum. Düzenlemek için tıkladığımda sadece o hücre açılsın değişikliğimi yapayım CTRL+Enter dediğimde geri kilitlensin.
Yani a1 e verimi yazdım enter dedim a2 verimi yazdım enter dedim a3 verimi yazdım enter dediğim zaman a1, a2, a3 kilitlenecek. a2 tıkladığımda şifre isteyecek şifreyi yazıcam a2 yi düzelticem CTRL+Enter diyip hücreden çıktığımda geri kilitlenecek.

Aslında çok kısa bir işlem ama anlatması bu kadar uzun sürdü.
Değerli vaktinizi çaldığım için şimdiden çok özür dilerim.
Saygılar.
 
Günlerdir uğraşıyorum ancak hiçbir netice alamadım. Yanlış birşeyler yaptığım belli. Arama için yanlış kriterlerde kullanıyor olabilirim. Bu isteğimdeki tek amacım yanlışlıkla veya bilerek kodların değiştirilmemesi veri değiştirilmeye çalıştığında msgbox ile uyarı versede olur. Yeni fikirlere açığım. Sadece hücre içerisinde ki verileri korumak istiyorum yanlışlık olmasın diye. İlgilenirseniz sevinirim.
Saygılar.
 
Öncelikle şunu belirtmek isterim: Bu tarz işlemler çok sağlıklı çalışmaz, özellikle güvenlik amaçlı bu işlemi yapmak istiyorsanız kesinlikle güvenmeyin.
Ancak sizin tarafınızdan yanlışlıkla değiştirilmesini engellemek gibi düşünceniz varsa o zaman belki...
Bu işlemi yapmadan önce ilgili sayfadaki tüm hücreleri seçerek hücre biçimlendirmesi, koruma sekmesinden tüm hücrelerin kilitini kaldırınız.
Daha sonra sayfa sekmesi üzerinde sağ tıklayıp Kod görüntüle dedikten sonra açılan pencerenin sağ tarafındaki beyaz alana aşağıdaki kodu kopyalayıp deneyiniz.
Bu işlemin çalışabilmesi için makroların aktif olması gerekmektedir.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Locked = True Then
    şifre = Application.InputBox("Şifreyi giriniz")
    If şifre = "123" Then
        ActiveSheet.Unprotect "şifre"
    Else
        Cancel = True
    End If
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Formula <> "" Then
    ActiveSheet.Unprotect "şifre"
    Target.Locked = True
    ActiveSheet.Protect "şifre"
Else
    ActiveSheet.Unprotect "şifre"
    Target.Locked = False
    ActiveSheet.Protect "şifre"
End If
End Sub
Hücre biçimlendirme için şifre: "123"
Sayfa koruma şifresi: "şifre"
 
Kesinlikle güvenlik amaçlı değil. Sadece önlem amaçlı kullanmak istediğim bir kod. Ellerinize sağlık kod çalışıyor. Vakit ayırıp emek harcadığınız için çok teşekkür ederim.
 
Rica ederim, iyi çalışmalar...
 
Ben bu kodu kullandım ve çok güzel çalışıyor...

Aynı sayfada; veri girişlerinde
Bir sütuna tarih diğer sütuna saat/dakika yazan aşağıdaki kodum var ve çalışıyor...

Ancak bu iki kodu aynı sayfada çalıştırmak istedim ve beceremedim...:::(((

Yardımcı olursanız sevinirim....
Tarih saati veri girişi ile otomatik yazan kod aşağıdadır...

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E3:E65536]) Is Nothing Then Cells(Target.Row, "A") = Format(Now, "d mmm yyyy dddd")
If Not Intersect(Target, [F3:F65536]) Is Nothing Then Cells(Target.Row, "A") = Format(Now, "d mmm yyyy dddd")
If Not Intersect(Target, [G3:G65536]) Is Nothing Then Cells(Target.Row, "A") = Format(Now, "d mmm yyyy dddd")
If Not Intersect(Target, [E3:E65536]) Is Nothing Then Cells(Target.Row, "B") = Format(Now, "h:mm")
If Not Intersect(Target, [F3:F65536]) Is Nothing Then Cells(Target.Row, "B") = Format(Now, "h:mm")
If Not Intersect(Target, [G3:G65536]) Is Nothing Then Cells(Target.Row, "B") = Format(Now, "h:mm")
End Sub
 
Öncelikle şunu belirtmek isterim: Bu tarz işlemler çok sağlıklı çalışmaz, özellikle güvenlik amaçlı bu işlemi yapmak istiyorsanız kesinlikle güvenmeyin.
Ancak sizin tarafınızdan yanlışlıkla değiştirilmesini engellemek gibi düşünceniz varsa o zaman belki...
Bu işlemi yapmadan önce ilgili sayfadaki tüm hücreleri seçerek hücre biçimlendirmesi, koruma sekmesinden tüm hücrelerin kilitini kaldırınız.
Daha sonra sayfa sekmesi üzerinde sağ tıklayıp Kod görüntüle dedikten sonra açılan pencerenin sağ tarafındaki beyaz alana aşağıdaki kodu kopyalayıp deneyiniz.
Bu işlemin çalışabilmesi için makroların aktif olması gerekmektedir.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Locked = True Then
    şifre = Application.InputBox("Şifreyi giriniz")
    If şifre = "123" Then
        ActiveSheet.Unprotect "şifre"
    Else
        Cancel = True
    End If
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Formula <> "" Then
    ActiveSheet.Unprotect "şifre"
    Target.Locked = True
    ActiveSheet.Protect "şifre"
Else
    ActiveSheet.Unprotect "şifre"
    Target.Locked = False
    ActiveSheet.Protect "şifre"
End If
End Sub
Hücre biçimlendirme için şifre: "123"
Sayfa koruma şifresi: "şifre"
Merhaba,

Aynı uygulamayı tüm çalışma sayfasında değil de, örneğin F7:K1000 aralığına uygulamak istiyorum. Yardımcı olabilir misiniz.
 
Geri
Üst