Como proteger células no Excel com base na data?
Normalmente, podemos proteger a folha de cálculo para impedir que outros utilizadores editem ou modifiquem os valores das células. Contudo, por vezes, é necessário proteger as células com base na data. Por exemplo, pretende-se proteger todas as células, exceto aquelas cujos valores correspondem à data de hoje — permitindo assim que apenas estas possam ser modificadas, tal como ilustrado na imagem seguinte. Este artigo explica como proteger células com base na data.

Proteger todas as linhas exceto a linha da data de hoje com código VBA
Proteger todas as linhas cuja data já passou com código VBA
Proteger todas as linhas exceto a linha da data de hoje com código VBA
Permita que apenas a linha correspondente à data de hoje seja editável. O código seguinte pode ajudá-lo — siga estes passos:
1. Clique com o botão direito do rato no separador da folha em que pretende proteger as células com base na data e, em seguida, escolha Ver Código no menu de contexto. Na janela do Microsoft Visual Basic for Applications que surge, copie e cole o seguinte código no módulo em branco:
Código VBA: Proteger todas as linhas exceto a linha da data de hoje:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
If Range("E" & Selection.Row).Value <> Date Then
ActiveSheet.Protect Password:="111111"
MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub

Nota: No código acima, a letra E corresponde ao cabeçalho da coluna onde está localizada a data e “111111” é a palavra-passe usada para proteger esta folha. Pode alterá-los conforme necessário.
2. Depois, guarde e feche esta janela de código.
(1.) Se clicar noutras células para além da linha da data de hoje, surge uma caixa de aviso a lembrá-lo de que a célula não pode ser editada, conforme ilustrado na imagem:

(2.) Se clicar e editar a linha correspondente à data de hoje, a modificação será efetuada com sucesso, conforme ilustrado na imagem:


Desbloqueie a Magia do Excel com KUTOOLS AI
- Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
- Programação VBA: Escreva e implemente código VBA com facilidade.
- Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
- Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Proteger todas as linhas cuja data já passou com código VBA
Se precisar de proteger todas as linhas cuja data já passou, permitindo apenas que as linhas com datas de hoje ou futuras sejam modificadas, aplique o seguinte código VBA:
1. Clique com o botão direito do rato no separador da folha em que pretende proteger as células com base na data e, em seguida, escolha Ver Códigono menu de contexto. Na janela do Microsoft Visual Basic for Applicationsque surge, copie e cole o código seguinte no Módulo em branco:
Código VBA: Proteger todas as linhas cuja data já passou:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
Dim xRow As Long
xRow = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(xRow, 5))
If Cells(xRow, 5) < Date Then
Rows(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub

Nota: No código acima, o número 5 corresponde ao número da coluna onde está localizada a data e «111111» é a palavra-passe para proteger esta folha. Pode alterá-los conforme necessário.
3. Depois, guarde e feche esta janela de código.
(1.) Se clicar nas células cuja data já passou, surge uma caixa de aviso a lembrá-lo de que a célula não pode ser editada, conforme ilustrado na imagem:

(2.) Se clicar numa célula de uma linha para tentar alterar os valores com data de hoje ou futura, a modificação será efetuada com sucesso, conforme ilustrado na imagem:

As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos