Como proteger a validação de dados para falhar ao copiar e colar dados?

2

Estou usando a validação de dados em uma coluna por uma lista predefinida.

mas pode ser facilmente enganado ou ignorado colando (Ctrl + V) dados de outra fonte.

Então, como eu posso proteger o usuário não pode inserir dados errados ou fora da minha lista de validação.

Obrigado

    
por Rahul Singh 09.07.2013 / 20:25

3 respostas

1

Tente usar ganchos / manipuladores de pasta para evitar que isso ocorra.

É uma espécie de hack, mas no seu VBA você pode vincular funções personalizadas às ações de tecla / clique usadas para disparar eventos "colar". Essas funções personalizadas podem acessar a seleção afetada pela pasta e disparar imediatamente as regras de validação / subs personalizadas. Para exemplos dessa funcionalidade, tente este guia (especialmente a seção mais abaixo intitulada "Validação ").

Isso não impede que os usuários colem dados inválidos em primeiro lugar, mas resulta na revogação imediata de dados inválidos, que podem estar próximos o suficiente para a mesma finalidade.

    
por 09.07.2013 / 21:48
1

Se a interceptação Colar eventos parecer complexa, uma solução alternativa é usar apenas o evento BeforeSave da pasta de trabalho. Nisto, verifique o (s) valor (es) e, se algum estiver incorreto, cancele a configuração Salvar por

Cancel = True

Você pode usar o evento Deactivate de uma planilha, mas isso não oferece uma maneira simples de cancelar a desativação, mas um aviso MsgBox pode ser exibido.

    
por 10.07.2013 / 23:22
0

Rahul, estou trabalhando em um problema semelhante agora. Depois de ler vários fóruns do Excel e os quadros de ajuda do MS sobre esse problema, posso dizer que são realmente DOIS problemas:

A) um copiar-colar padrão no Excel copia as validações da origem para o destino. Se você não tiver nenhuma proteção, isso elimina a validação de sua coluna especial quando um usuário cola nela. B) O Excel só executa a validação em células únicas e não em ações de colagem. Bem fraco.

Eu posso resolver o problema A para você; Eu acho que você precisará do VBA para fazer uma validação customizada para o problema B. Veja os links na parte inferior deste post para algumas idéias; Eu não sou um profissional no VBA, então não posso dizer o que funcionará para você.

Para o problema A: vá para a guia Revisar e ative a Proteção no nível de pasta ou pasta de trabalho :) Não vi ninguém mencionar essa solução, mas ela funciona muito bem. Quando a proteção está ativada, o usuário não pode sobrescrever as validações em sua coluna com uma colagem.

Os direitos padrão de um usuário em uma planilha protegida são mínimos. Se seus usuários precisarem de muitos direitos, como a capacidade de excluir linhas, ative os direitos de que precisam na caixa de diálogo Proteger marcando as caixas de seleção. Eu tenho tudo ativado, exceto Inserir Hiperlinks, e ainda não consigo sobrescrever a validação quando a proteção está ativada.

Aqui estão alguns links relevantes para você:

link

link

link

link

    
por 04.11.2015 / 00:41