• DİKKAT

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

koşula bağlı satır kilitlemek

  • Konbuyu başlatan Konbuyu başlatan yusuf09
  • Başlangıç tarihi Başlangıç tarihi
Katılım
6 Nisan 2017
Mesajlar
78
Excel Vers. ve Dili
2010
Herkese selamlar. Kod yazma konusunda fazla bilgim yok. Aşağıdaki işlemi yapmak için ne yapmam gerekiyor?

D7 boş ise E7:O7 arasındaki hücrelerin kilitlenmesi ve aynı işlem D507 ye kadar devam etmesi yani D sütunundaki boş hücrenin olduğu E den O ya kadar olan satır kilitlenmeli nasıl bir vba yazılmalı. Ayrıca bu fonksiyonu yerine getirecek ön koşul A sütununun ilgili satırının dolu olması boşsa işlem yapmaması.
 
şematik olarak işlem aralığını ve aşamalarını aşağıda özetledim;

a7 dolu ise ve d7 boş ise e7 : o7 arası hücreler kilitlensin
a8 dolu ise ve d8 boş ise e8 : o8 arası hücreler kilitlensin
a9 dolu ise ve d9 boş ise e9 : o9 arası hücreler kilitlensin
...
a507 dolu ise ve d507 boş ise e507 : o507 arası hücreler kilitlensin.
 
Merhaba,

Bu şekilde deneyin.

Kod:
Sub Kilitle()

    Dim i As Long

    ActiveSheet.Unprotect
    
    For i = 7 To 507
        With Range("E" & i & ":O" & i)
            If Cells(i, "D") = "" Then
                .Locked = True
                .FormulaHidden = True
             Else
                .Locked = False
                .FormulaHidden = False
            End If
        End With
    Next i
              
    ActiveSheet.Protect
    
End Sub

Not: 2. mesajınızı yeni gördüm. Ben 1.mesajınıza göre düzenlemiştim.

.
 
teşekkür ederim. yeni kod bekleyeyim mi yoksa bu kod işimi görür mü? bu kodu yazılı kodlar arasına nasıl yerleştiririm?
 
Kodlardaki if satırını aşağıdakiyle değiştirin.

If Cells(i, "A") <> "" And Cells(i, "D") = "" Then

.
 
teşekkürler
 
Geri
Üst