Tentando criar validação de dados (absolutamente sem macros, simplesmente não é uma opção), onde um usuário pode digitar somente caracteres básicos
(A-Z, a-z, 0-9, -, ~, ', \, /)
Então, o que tentei fazer foi criar uma validação que verificasse certos caracteres e exibisse uma mensagem de erro se eles fossem encontrados. Portanto, minha fórmula de validação de dados é a seguinte.
= ISERROR (FIND ("&", D17: D110))
Onde D17: D110 é o intervalo de células que serão todas validadas.
Então, depois que um usuário estiver digitando seus valores, se a célula que ele está editando no momento, contiver um "&" isso causará um erro. Este método funciona lindamente.
Contudo!
Eu preciso proibir mais do que esse caractere, então eu tentei.
= ISERROR ((OR (FIND ("&", D17: D110), FIND ("^", D17: D110))))
Isso não só não funciona para "^", mas também quebra "&".
Então, o que eu preciso é uma maneira de
- Bloquear a permissão de vários caracteres
- Permitir apenas os caracteres listados acima.
Advertência:
Devido à forma como a fórmula está sendo adicionada (.NET OfficeOpenXml), não consigo referenciar APENAS a única célula como você faria se você inserisse no Excel e usasse a fórmula. É uma limitação da API. Essa é a razão pela qual eu encontrei uma maneira de usar com todo o intervalo.