Configurar validação de dados
Você desejará usar o recurso Validação de dados no Excel para restringir as células a um texto específico. No seu caso: "Teste1", "Teste2" e "Teste3"
- Selecione as células que devem aceitar apenas os valores "Test1", "Test2" e "Test3"
-
Na guia Dados , no grupo Ferramentas de dados , clique no botão Validação de dados .
NalistasuspensaPermitir:,selecioneLista
NocampoOrigem:,insiraTest1,Test2,Test3
-
Clique em OK para aplicar as alterações.
Neste ponto, todas as células selecionadas na Etapa 1 terão uma lista suspensa associada a ela. Os usuários da planilha só poderão inserir Test1 , Test2 ou Test3 . Se eles tentarem inserir qualquer outra coisa, eles receberão a seguinte mensagem de erro:
Vocêpodepersonalizarotextodamensagemdeerro,sedesejar,clicandonaguiaAlertadeerronaetapa4acima.
Evitarcopiar/colaremcélulasvalidadaspordados
Issofuncionarámuitobem,EXCETOnocasoemquealguémcolaoconteúdonapartesuperiordascélulas.Aúnicamaneiradeimpedirqueissoaconteçaégravarumamacroquedetectaatualizaçõesnascélulas,determinaseavalidaçãodedadosestáhabilitadanascélulase,emseguida,negaacolagemsetrue.
- Selecionetodasascélulasquepossuemvalidaçãodedadosenomeie-asDataValidationRange.Vocêpodenomearintervalosdecélulasdigitandoonomeàesquerdadabarradefórmulas,ondeoendereçodacélulaestálocalizado.
- Nomódulodecódigodaplanilha(Planilha1,porexemplo),adicioneoseguintecódigo:
PrivateSubWorksheet_Change(ByValTargetAsRange)'Doesthevalidationrangestillhavevalidation?IfHasValidation(Range("DataValidationRange")) Then Exit Sub Else Application.Undo MsgBox "Error: You cannot paste data into these cells." & _ "Please use the drop-down to enter data instead.", vbCritical End If End Sub Private Function HasValidation(r) As Boolean 'Returns True if every cell in Range r uses Data Validation On Error Resume Next x = r.Validation.Type If Err.Number = 0 Then HasValidation = True Else HasValidation = False End Function
Infelizmente, o VBA é a única maneira de impedir que alguém cole as células. Este tem sido um problema com a validação de dados no Excel desde o início. Espero que ajude de qualquer forma.