Ir ao conteúdo

Excel Macro para bloquear entrada via leitor código de barras


Ir à solução Resolvido por Rafael nunes da silva,

Posts recomendados

Postado

Boa tarde, 

 

estou trabalhando em uma planilha onde são inseridos dados através de uma inputbox.

 

Pergunta: é possível bloquear a inserção de dados diretamente nas células via leitor de código de barras, permitindo essa inserção unicamente pela inputbox?

 

EX: já bloqueei a inserção por digitação pelas teclas (via inputbox não é afetado), mas se eu ler um código de barras diretamente na célula é inserido. Gostaria de bloquear isso, mas mantendo habilitado pela inputbox

 

O objetivo disso é basicamente forçar o usuário a inserir os dados somente pela inputbox tanto via teclado quanto leitor.

Postado

Boa tarde, @Rafael nunes da silva

 

Se você definir a propriedade Application.Interactive como False ao carregar seu Userform ou exibir a InputBox, o Excel bloqueará quaisquer entradas provenientes do usuário, tanto via teclado como mouse, e acredito que também via leitor de barcode (não tenho um pra testar aqui).

 

Por outro lado, essa propriedade permite inserção de dados somente via código ou nos controles exibidos pelo VBA.

 

Se você seguir a recomendação acima e der certo, o bloqueio que você já fez quando disse:

 

22 horas atrás, Rafael nunes da silva disse:

...já bloqueei a inserção por digitação pelas teclas...

 

passaria a ser redundante e poderia até ser eliminado.

Mas atenção: não esqueça de reverter a propriedade para True após o término de seu procedimento pois senão você não conseguirá interagir com seu Workbook  (o Excel não redefine a propriedade para True automaticamente ao finalizar como faz com outras propriedades como ScreenUpdating, por exemplo).

Faça um teste...

Postado
1 hora atrás, Edson Luiz Branco disse:

Boa tarde, @Rafael nunes da silva

 

Se você definir a propriedade Application.Interactive como False ao carregar seu Userform ou exibir a InputBox, o Excel bloqueará quaisquer entradas provenientes do usuário, tanto via teclado como mouse, e acredito que também via leitor de barcode (não tenho um pra testar aqui).

 

Por outro lado, essa propriedade permite inserção de dados somente via código ou nos controles exibidos pelo VBA.

 

Se você seguir a recomendação acima e der certo, o bloqueio que você já fez quando disse:

 

 

passaria a ser redundante e poderia até ser eliminado.

Mas atenção: não esqueça de reverter a propriedade para True após o término de seu procedimento pois senão você não conseguirá interagir com seu Workbook  (o Excel não redefine a propriedade para True automaticamente ao finalizar como faz com outras propriedades como ScreenUpdating, por exemplo).

Faça um teste...

Oi Edson, agradeço a ajuda mas não resolveu para o meu caso. 

conforme eu entendi, ao ativar esse código simplesmente tudo fica desabilitado e a intenção é manter algumas opções como uso do enter, selecionar células e ctrl+c liberadas (apenas letras, números e leitor barcode bloqueados) .

Aí nessa situação, a pessoa irá ter que desativar o código certo? mas, fazendo isso a inserção via leitor de código de barras voltará a ficar disponível, o que não poderá acontecer.

 

Uma duvida, consigo bloquear uma coluna especifica, sem que trave a macro?

por exemplo, manter bloqueada a coluna A (lá por formatar células/proteção), mas ao usar a inputbox conseguir inserir dados nela sem que de erro na macro.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!