Solujen suojaus vain kaavoille, jotka käyttävät VBA: ta Microsoft Excelissä

Sisällysluettelo

Tässä artikkelissa käytämme laskentataulukon muutostapahtumaa suojaamaan kaavoja sisältävät solut.

Raakatiedot koostuvat työntekijöiden myyntitiedoista, jotka sisältävät hajautuksen kuukausittain ja vuosittain.

Haluamme selvittää kokonaismyynnin kuukausittain ja vuosittain.

Olemme laskeneet summatoimintoa kokonaismyynnin laskemiseen kuukausittain ja vuosittain. Laskentataulukon muutostapahtumaa käytetään suojaamaan kaavoja sisältävät solut. Kun yritämme muokata kaavaa sisältävää solua, saamme ponnahdusviestin, jossa sanotaan, että solun arvoa ei voi muuttaa.

Koodin selitys

rng.HasFormula

HasFormula -menetelmä palauttaa arvon True, jos solu sisältää kaavan. Muuten se palauttaa arvon False.

ActiveSheet.Protect

Yllä olevaa koodia käytetään solun suojaamiseen.

Huomautus: Solua suojataan vain, jos se on lukittu. Joten ennen solun suojaamista se on lukittava.

ActiveSheet. Suojaa

Yllä olevaa koodia käytetään solun suojauksen poistamiseen.

Seuraa koodia alla

 'Lisää alla oleva koodi laskentataulukkomoduuliin Vaihtoehto Explicit Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim rng as Range for each rng in Target.Sells if rng.HasFormula then ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub 

Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.

Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave