Ląstelių apsauga tik formulėms, naudojančioms VBA „Microsoft Excel“

Turinys

Šiame straipsnyje mes naudosime darbalapio keitimo įvykį, kad apsaugotume ląsteles, kuriose yra formulės.

Neapdorotus duomenis sudaro darbuotojų pardavimo duomenys, į kuriuos įeina paskirstymas pagal mėnesius ir metus.

Mes norime sužinoti visus pardavimus pagal mėnesius ir metus.

Mes naudojome sumos funkciją, kad apskaičiuotume visus pardavimus kas mėnesį ir metus. Pakeisti darbalapio įvykį naudojamas apsaugoti langelius, kuriuose yra formulės. Kai bandysime redaguoti langelį, kuriame yra formulė, gausime iššokantį pranešimą, kuriame sakoma, kad langelio vertės pakeisti negalima.

Kodo paaiškinimas

rng.HasFormula

„HasFormula“ metodas grąžins „True“, jei langelyje yra formulė. Priešingu atveju jis grąžins klaidingą.

ActiveSheet.Protect

Aukščiau pateiktas kodas naudojamas langeliui apsaugoti.

Pastaba: Langelis bus apsaugotas tik tuo atveju, jei bus užrakintas. Taigi prieš apsaugant ląstelę, ji turi būti užrakinta.

ActiveSheet. Neapsaugoti

Aukščiau pateiktas kodas naudojamas langelio apsaugai panaikinti.

Sekite toliau pateiktą kodą

 „Pridėti žemiau esantį kodą darbalapio modulyje Parinktis„ Explicit Private Sub Worksheet_SelectionChange “(„ ByVal Target As Range “)„ Dim rng “kaip diapazonas kiekvienam„ Target “rng. Ląstelės, jei rng.HasFormula Tada„ ActiveSheet.Protect Else ActiveSheet “. 

Jei jums patiko šis tinklaraštis, pasidalykite juo su draugais „Facebook“. Be to, mus galite sekti „Twitter“ ir „Facebook“.

Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime pagerinti savo darbą ir padaryti jį geresnį. Rašykite mums el

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave