[ jaskojsako @ 01.03.2015. 10:32 ] @
poz
imam jedno pitanje,kako da zaključam čeliju kada se u čeliju unese podatak u rasponu primer radi CC3:AG3,sljedeći raspon C4:AG4 i tako sve do C7:AG7
da kad unesem podatak u čeliju C3 da je zaključa a da mogu unijeti podatak u sljedeću čeliju D3 i da i nju zaključa poslije unosa podatka i tako redom
imam kod ali čim unesem podatak u prvu čeliju odmah zakljuće i sve ostale
naravno da traži pasword za otključavanje
hvala

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C3:AG3")) Is Nothing Then 'set your range here
ActiveSheet.Unprotect Password:="mypassword"
Target.Locked = True
ActiveSheet.Protect Password:="mypassword"
End If
End Sub
[ Jpeca @ 02.03.2015. 09:56 ] @
Izmenio sam makro na događaj worksheet change tako da ispituje da li je ćelija u istom redu, postmatranom opsegu popunjena i ako jeste onda je zaključava
Znači za ovo rešenje nije bitno da li se popunjava redom ili ne. Naravno može da se napravi i drugačije u zavisnosti od toga šta ti treba. Opseg koji posmatraš treba da uključi sve redove koji se unose - dakle C3:AG7 . U mom primeru ja sam radi testiranja postavio samo pet kolona od C, a ti prilagodi kako treba.

Posebno je važno kako je postavljen atribut locked za ćeljie. Default u Excelu je da je on True, ali za tvoj primer treba da je False u posmatranom opsegu.

Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cl As Range
Dim currRng As Range
If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("C3:G17")) Is Nothing Then 'set your range here
    Set currRng = Target.Resize(ColumnSize:=5)
    ActiveSheet.Unprotect Password:="mypassword"
    For Each cl In currRng
      If Len(cl.Text) > 0 Then
        cl.Locked = True  ' zakljucaj ćeliju ako je nešto upisano
      End If
    Next cl
    ActiveSheet.Protect Password:="mypassword"
End If
End Sub


Nisam shavatio smisao svega ovoga i verujem da će napraviti više štete nego koristi. Ja bih koristio ugrađeni alat Validate sa nekom korisničom funkcijom koja bi ispitavala da li su sve ćelije iz posmatranog opsega u istom redu popunjene i onda bi dao upozorenje za izmenu - ali bi se izmena dozvolila. Ako baš hoćeš da kontrolišeš izemne onda je možda bolje da je unos moguć samo preko forme.
[ jaskojsako @ 05.03.2015. 10:32 ] @
poz
nisam bio tu,hvala ti odgovara ovo
što si napravio