Како закључати ћелије на основу боје у Мицрософт Екцел-у

Microsoft Excel omogućava primenu uslovnog formatiranja na ćelije. Ako vrednost u ćeliji zadovoljava određena pravila koja ste definisali, ova funkcija će promeniti boju teksta u ćeliji, boju pozadine ili oboje. Ovo je osnovna funkcija koja je spremna za upotrebu odmah po instalaciji. Međutim, ako želite da zaključate ćelije na osnovu boje, biće vam potreban mali VBA skript.

Možete koristiti uslovno formatiranje da promenite boju ćelije ili možete ručno postaviti željenu boju. VBA skript ne zavisi od uslovnog formatiranja za zaključavanje ćelija. Dovoljno je da ćelija bude obojena.

Zaključavanje ćelija na osnovu boje

Pre nego što kreirate VBA skript, morate da znate tačan kod boje ćelije koju koristite. VBA ne interpretira boje vizuelno, već preko njihovih numeričkih kodova.

Prvo što treba uraditi jeste da obojite ćeliju. U ovom primeru, koristimo osnovnu žutu boju, koja je laka za referencu. Ako koristite drugu boju, posetite ovu web stranicu da biste pronašli odgovarajući kod boje. Kod koji koristimo za žutu boju je #FFFF00.

U Excelu, omogućite karticu „Developer“, a zatim je otvorite. Kliknite na dugme „Visual Basic“ i zalepite sledeći kod u „ThisWorkbook“ (Ovaj radni list). Ovaj skript je kreirao korisnik Dave sa Super User foruma.

Sub WalkThePlank()

Dim colorIndex As Integer
colorIndex = &HFFFF00

Dim rng As Range

For Each rng In ActiveSheet.UsedRange.Cells

Dim color As Long
color = rng.Interior.Color
If (color = colorIndex) Then
rng.Locked = True
Else
rng.Locked = False
End If

Next rng

End Sub

Pokrenite skript i on će zaključati sve ćelije koje su obojene bojom koju ste definisali. Kod boje koji ste pronašli za svoju boju biće postavljen u sledećem redu skripta;

colorIndex = &HFFFF00

&HFFFF00 predstavlja žutu boju, i taj kod treba zameniti odgovarajućim kodom boje koju vi koristite. Preporučuje se korišćenje osnovnih boja. Nakon dodavanja koda, neophodno je da sačuvate Excel datoteku kao datoteku sa omogućenim makroima, jer u suprotnom VBA skript neće biti sačuvan.

Zaključane ćelije se lako mogu otključati. Zaključavanje ne zahteva lozinku i pre svega sprečava slučajne promene vrednosti u ćelijama. To je uobičajen način zaštite od nenamernih izmena u datoteci.