O Microsoft Excel permite aplicar formatação condicional às células. Se o valor em uma célula atender a determinadas regras que você definiu, o recurso de formatação condicional alterará a cor do texto na célula, a cor de preenchimento ou ambas. Este é um recurso básico que funciona imediatamente, no entanto, se você quiser bloquear células com base na cor, precisará de um pequeno script VBA para fazer isso.
Você pode usar a formatação condicional para alterar a cor de uma célula ou pode alterar manualmente a cor para o que quiser. O script VBS não depende de formatação condicional para bloquear células. Ele só precisa de uma célula para ser colorido.
Bloquear células com base na cor
Antes de criar um script VBA, você precisa saber a cor da célula que está referenciando. O VBA não vê as cores como elas são; ele faz referência a eles por meio de seus códigos de cores.
A primeira coisa que você precisa fazer é dar uma cor à sua célula. Optamos pelo amarelo básico, que é bastante fácil de referenciar. Se você vai com uma cor diferente, use este site para descobrir qual código de cor você precisa usar. O código de cor que estamos usando para o amarelo é #FFFF00.
No Excel, ative a guia Desenvolvedor e alterne para ela. Clique no botão Visual Basic e cole o seguinte em ‘Esta planilha’. Este script foi escrito pelo usuário Superusuário Dave.
Sub WalkThePlank() dim colorIndex as Integer colorIndex = FFFF00 Dim rng As Range For Each rng In ActiveSheet.UsedRange.Cells Dim color As Long color = rng.Interior.ColorIndex If (color = colorIndex) Then rng.Locked = True else rng.Locked = false End If Next rng End Sub
Execute o script e ele bloqueará todas as células da cor que você definiu. O código de cor que você encontrou para sua cor será definido nesta linha no script;
colorIndex = FFFF00
O FFFF00 representa a cor amarela e é isso que você precisa substituir por qualquer código de cor que se aplique à cor que você está usando. Devemos mencionar que é melhor ir com uma cor básica. Depois de adicionar isso, você precisará salvar seu arquivo do Excel como um arquivo habilitado para macro ou o script VBA não será salvo.
As células bloqueadas podem ser facilmente desbloqueadas. O bloqueio não é um bloqueio protegido por senha, o que impede que outras pessoas alterem o valor de uma célula, se quiserem. É um bloqueio comum que evita alterações acidentais no arquivo.