Notifications
Clear all

With Worksheets + Find Depurando

7 Posts
2 Usuários
0 Reactions
1,398 Visualizações
chook
(@chook)
Posts: 197
Estimable 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!!

Atenciosamente,

Alex Lacerda
[email protected]

 
Postado : 17/04/2013 12:26 pm
Fernando Fernandes
(@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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/04/2013 3:26 pm
Fernando Fernandes
(@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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/04/2013 4:11 pm
chook
(@chook)
Posts: 197
Estimable 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.

Atenciosamente,

Alex Lacerda
[email protected]

 
Postado : 03/05/2013 6:57 am
chook
(@chook)
Posts: 197
Estimable 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

Atenciosamente,

Alex Lacerda
[email protected]

 
Postado : 03/05/2013 7:02 am
chook
(@chook)
Posts: 197
Estimable 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.

Atenciosamente,

Alex Lacerda
[email protected]

 
Postado : 03/05/2013 9:09 am
Fernando Fernandes
(@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)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/05/2013 9:31 am