Proteção celular apenas para fórmulas usando VBA no Microsoft Excel

Índice

Neste artigo, usaremos o evento de alteração da planilha para proteger as células que contêm fórmulas.

Os dados brutos consistem em dados de vendas de funcionários, que incluem bifuricação por mês e ano.

Queremos saber o total de vendas por mês, bem como por ano.

Usamos a função de soma para calcular as vendas totais em bases mensais e anuais. O evento Change da planilha é usado para proteger as células que contêm fórmulas. Quando tentamos editar uma célula que contém uma fórmula, obteremos uma mensagem pop-up dizendo que o valor da célula não pode ser alterado.

Explicação do código

rng.HasFormula

O método HasFormula retornará True se uma célula contiver uma fórmula. Caso contrário, ele retornará False.

ActiveSheet.Protect

O código acima é usado para proteger uma célula.

Observação: Uma célula será protegida apenas se estiver bloqueada. Portanto, antes de proteger uma célula, ela deve ser bloqueada.

ActiveSheet.Unprotect

O código acima é usado para desproteger uma célula.

Siga abaixo para o código

 'Adicione o código abaixo no módulo de planilha Option Explicit Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim rng As Range para cada rng em Target.Cells If rng.HasFormula Then ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave