Muito bom dia a todos!
Eu consegui desenvolver uma rotina pra tentar "pegar" a última cotação de determinada ação. Esta procura identifica a empresa que atenda 02 critérios, um dos critérios é o número que está na coluna 2 e o outro critério é o nome da empresa que está na coluna 3.
Pra isso eu estou utilizando um For Invertido (Step-1) e o IF, da seguinte forma:
If Right(Cells(i, 2).Value, 1) = ProcurarTipo And Trim(Cells(i, 3).Value = Procurar)
A rotina até consegue encontrar, porém por algum motivo não está pegando o 1º registro que era o objetivo....Alguém saberia o motivo da rotina não estar pegando a 1º ocorrência(de baixo para cima)?
O anexo que postei no site http://www.sendspace.com/file/i0o3d8
basta salvá-lo no DESKTOP da sua máquina e executar a rotina que está na PASTA1.
Desde já agradeço demais qualquer ajuda.
Editei (inclui uma parte para apagar as células preenchidas), para um melhor funcionamento da macro e postei em: http://www.sendspace.com/file/484bkf
Bom não sei dizer se está "pegando" os valores correto; porem há um equivoco no trecho:
...For Ano = 2003 To Year(Date) - 1
Sheets("COTAHIST_A" & Ano).Select ' ativa a planilha para fazer a pesquisa
'determina o ultimo registro de "cotações" range "A"
lastRow = Worksheets(1).Cells(Cells.Rows.Count, "A").End(xlUp).Row....
Da maneira que está sempre irá "pegar" a ultima linha da planilha de index 1
altere para:
lastRow =Cells(Cells.Rows.Count, "A").End(xlUp).Row....
Assim retornou valores para 2003 e 2008 a 12
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Perfeito, Reinaldo!!! Que bobeira minha!!!! rsss
Muitíssimo obrigado, mais uma vez!