Como proteger ou bloquear os valores das células com base na cor de fundo?
Supondo que eu tenha uma planilha grande e várias células são preenchidas com cores de fundo diferentes, agora, quero bloquear ou proteger as células com base em determinada cor preenchida, como bloquear ou proteger todas as células com a cor vermelha. Existem bons métodos para lidar com essa tarefa no Excel?
Proteja ou bloqueie os valores das células com base na cor de fundo com o código VBA
Proteja ou bloqueie os valores das células com base na cor de fundo com o código VBA
Por exemplo, eu quero bloquear e proteger todas as células vermelhas, a fim de evitar que outros usuários modifiquem esses valores de células, o seguinte código VBA pode resolver esse trabalho para você, faça o seguinte:
1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: proteja ou bloqueie os valores das células com base na cor:
Sub lockcellsbycolor()
'Updateby Extendoffice
Dim colorIndex As Integer
colorIndex = 3
Dim xRg As Range
Application.ScreenUpdating = False
For Each xRg In ActiveSheet.UsedRange.Cells
Dim color As Long
color = xRg.Interior.colorIndex
If (color = colorIndex) Then
xRg.Locked = True
Else
xRg.Locked = False
End If
Next xRg
Application.ScreenUpdating = True
MsgBox "All specified color cells have been locked!", vbInformation, "Kutools for Excel"
End Sub
Note: No código acima, o número 3 dentro do índice de cores = 3 script indica as células de cor vermelha que desejo bloquear, você pode alterá-lo para outro índice de cor que deseja bloquear.
3. Então aperte F5 para executar este código, e apenas as células vermelhas foram bloqueadas, outras células são desbloqueadas no intervalo usado da planilha ativa, veja a captura de tela:
4. Se você deseja protegê-los de serem modificados por outros usuários, você só precisa aplicar o Folha de proteção recurso para proteger esta planilha.
Dicas: Para obter o número de índice de cor, você pode aplicar a seguinte Função Definida pelo Usuário:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!