Notifications
Clear all

With Worksheets + Find Depurando

7 Posts
2 Usuários
0 Reactions
1,390 Visualizações
(@chook)
Posts: 197
Reputable Member
Topic starter
 

Amigos estou com uma nova bronca... prometo que antes de postar eu tento muitas vezes resolver mais essa bronca aqui não consegui. Já pesquisei em muitos lugares sem sucesso e tenho que recorrer aos gurus do excel.

Vamos lá, tenho esse código que é executado com a entrada de um código de barras, da forma que foi escrito a cada número ele vai avançando na busca até o final. O que preciso é que quando não encontrar o código, ao invês de depurar que informe que o produto não está cadastrado e limpe o campo.

With Worksheets("Banco").Range("G:G")
Set C = .Find(CStr(ean.Text), LookIn:=xlValues, LookAt:=xlPart)
    C.Activate
End With

Exemplo com nomes:

:: Digitado A
BASE
Alex
Ana Carla
Antonio

:: Digitado Ant
BASE
Alex
Ana Carla
Antonio

Forte abraço a todos!!

 
Postado : 17/04/2013 12:26 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Eu não consegui entender.

Qual o controle e tipo de gatilho que você está usando?

Seria um TextBox ou um Botão de Comando? qual o evento???

Realizei um teste simples e não tive problema...

deposite seu arquivo modelo (com a parte principal de sua dúvida), compactado!!

Att

 
Postado : 17/04/2013 3:26 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente algo assim:

    Set C = .Find(CStr(ean.Text), LookIn:=xlValues, LookAt:=xlPart)  'Para localizar um texto exato na celula, mudar a propriedade para xlWhole
    
    If Not C Is Nothing Then
        C.Activate
    else   
        msgbox ean.text & " Não localizado"
        exit sub
    End If
 
Postado : 17/04/2013 4:11 pm
(@chook)
Posts: 197
Reputable Member
Topic starter
 

Reinaldo, o código esta se comportando da seguinte forma.

Exemplo com nomes:

:: Digitado A
BASE
Alex
Ana Carla
Antonio

:: Digitado Antibes
BASE
Alex
Ana Carla
Antonio

Ele achou o Antonio, quando digitei até Ant então o retorno do C. não é Nothing então não dá a mensagem ele simplesmente fica parado.

 
Postado : 03/05/2013 6:57 am
(@chook)
Posts: 197
Reputable Member
Topic starter
 

Segue anexo planilha.

Estou utilizando um leitor de código de barras aqui, pode ser que a aplicação se comporte diferente na digitação e na leitura.

Códigos para teste:

7898928865015
7898446866105
7898940472376
7896013527862
7896013527879
7891037009226
7891037013551
7891037013544
123456789

 
Postado : 03/05/2013 7:02 am
(@chook)
Posts: 197
Reputable Member
Topic starter
 

Problema resolvido com a reconfiguração do Leitor para não dar Enter após a leitura.

Meu problema agora é outro. Na hora de pagar quando informo o valor com centavos ele só reconhece o valor inteiro... :/

Segue anexo planilha, realiza uma venda e depois ao finalizar venda coloca o valor com centavos e verá que ele vai omitir este valor.

 
Postado : 03/05/2013 9:09 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não utilize val para conversão de valores com virgula (val so reconhece ponto como separador decimal), de preferencia a Cdbl

valorrecebido.Value = CDbl(valorrecebido.Value) + CDbl(valorpago.Value)

 
Postado : 03/05/2013 9:31 am