Notifications
Clear all

Não consigo ver meu erro função IF

5 Posts
3 Usuários
0 Reactions
1,504 Visualizações
(@fabio-rs)
Posts: 37
Eminent Member
Topic starter
 

Fiz um macro com a função If, e não consigo ver meu erro pois não esta dando certo.
a macro é para buscar um nome noutra planilha e quando achar o mesmo pular para a célula ao lado.
tentei com dois macros e nenhum da certo. o que deveria acontecer é que quando executado o macro ele pegaria o valor da célula E2 da planilha movimento, e pesquisaria na planilha menu a partir da l coluna L10, onde estaria o mesmo nome, (mês), quando achasse o valor igual ficaria ativa a célula ao lado .
segue em anexo a planilha com o macro,
se alguém puder ver o erro que estou cometendo agradeço,
sucesso a todos

Sucesso

Fabio,
fabio_bacchi@yahoo.com.br

 
Postado : 23/08/2018 6:31 pm
(@fabio-rs)
Posts: 37
Eminent Member
Topic starter
 

Não sei se foi o arquivo, mas segue então

Sucesso

Fabio,
fabio_bacchi@yahoo.com.br

 
Postado : 23/08/2018 6:41 pm
(@fabio-rs)
Posts: 37
Eminent Member
Topic starter
 

Não consegui anexar o arquivo
segue o código

Sub Achar()

Application.ScreenUpdating = False

Dim M           As Worksheet
Dim UltCel      As Range
Dim Nome        As String
Dim Planilha    As String
Dim Menu        As Worksheet

Set M = Sheets("Movimento")

M.Select
M.Range("E2").Select

  Nome = ActiveCell.Value

Set Menu = Sheets("Menu")
Menu.Select
        Menu.Range("L10").Select
 
        Do While ActiveCell.Value <> ""
       
            If ActiveCell.Value = Nome Then
            
                ActiveCell.Offset(0, 1).Value = Fabio
                                    
                    Exit Do
                
                Else
                                 
                 ActiveCell.Offset(1, 0).Select
               
            End If
      
        Loop
 
Application.ScreenUpdating = True

MsgBox "Processo concluído"


End Sub

Sub Buscar()

Dim M As Worksheet
Dim Menu As Worksheet

Set M = Sheets("Movimento")
Set Menu = Sheets("Menu")

M.Select
Nome = Range("E2").Value        ' Pega o que está na célula E2
Menu.Select
Range("L10").Select

Do While ActiveCell.Value <> ""

    If ActiveCell.Value = Nome Then
    

       Menu.Range(0, 1).Select
      
        Exit Do
  Else
  ActiveCell.Offset(1, 0).Select
  
   End If

Loop
  
      ActiveCell.Offset(1, 0).Select
Exit Sub

'Nome = Nothing

Application.EnableEvents = True


End Sub

Sucesso

Fabio,
fabio_bacchi@yahoo.com.br

 
Postado : 23/08/2018 6:58 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Fabio RS,

Bom dia!

Solicitamos, por gentileza, ao postar código VBA, utilizar a ferramenta CODE existente logo no início da caixa de mensagens (quinto botão da esquerda para a direita).

Quanto a sua dúvida, fiz um pequeno exemplo (arquivo anexo) e está tudo certo com o seu código. Talvez, o seu IF não esteja encontrando nada em razão de que você está procurando por mês ou por data e o VBA tem algumas nuances quando se trata de datas. Para identificar corretamente, sugiro que você faça apenas um pequeno exemplo do seu arquivo original e anexe o mesmo aqui. Ou então aproveite o exemplo abaixo e substitua pelos seus dados reais para ver o que ocorre.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 24/08/2018 7:36 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Conforme seu modelo postado em https://www.tomasvasquez.com.br/forum/viewtopic.php?f=20&t=6493, deve-se ao fato de o parametro de pesquisa ser diferente do pesquisado --> Pesquisa "Junho", range pesquisada "junho"
Utilise com Ucase (ou Lcase) para padronizar as descrições --> If UCase(ActiveCell.Value) = UCase(Nome)

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

 
Postado : 24/08/2018 10:15 am