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
Não sei se foi o arquivo, mas segue então
Sucesso
Fabio,
fabio_bacchi@yahoo.com.br
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
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
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