Marcio Fleming Postado 22 de Abril Postado 22 de Abril Boa Tarde Pessoal, Quem analisa ações e FIIs sabe o quanto pode ser trabalhoso consultar, manualmente, indicadores financeiros em vários sites. Pensando nisso, desenvolvi uma função em VBA que permite buscar indicadores diretamente do Fundamentus, de forma automatizada, dentro do Excel. O que essa solução faz? Com apenas dois parâmetros - o ticker do ativo e o nome do indicador - a função: Acessa automaticamente a página do ativo no Fundamentus Varre as tabelas de indicadores Identifica o indicador desejado (de forma flexível) Retorna o valor diretamente para a célula do Excel Requisitos de bibliotecas VBA Microsoft XML (MSXML) Microsoft HTML Object Library Tudo isso usando VBA puro, sem complementos externos. Abaixo duas imagens de utilização e depois delas o código VBA para todos. Ações - exemplo FIIs - exemplo VBA - código Function BuscarIndicador(papel As String, nomeIndicador As String) As String Dim http As Object Dim html As Object Dim tds As Object Dim i As Long Dim url As String Dim textoCelula As String Dim indicadorProcurado As String ' Normaliza o indicador buscado indicadorProcurado = UCase(nomeIndicador) url = "https://www.fundamentus.com.br/detalhes.php?papel=" & papel ' Requisição HTTP Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", url, False http.setRequestHeader "User-Agent", "Mozilla/5.0" http.send ' HTML Set html = CreateObject("HTMLFILE") html.body.innerHTML = http.responseText ' Todas as <td> Set tds = html.getElementsByTagName("td") For i = 0 To tds.Length - 2 ' Limpa texto da célula textoCelula = tds(i).innerText textoCelula = Replace(textoCelula, Chr(160), " ") textoCelula = Trim(UCase(textoCelula)) ' Comparação flexível If textoCelula Like "*" & indicadorProcurado & "*" Then BuscarIndicador = Trim(tds(i + 1).innerText) Exit Function End If Next i BuscarIndicador = "Não encontrado" End Function Espero que ajude e se quiser saber mais, sugerir adicionar algum outro indicador ou quiser um arquivo nativo comenta aqui. 1
Rafael Diegoli Postado 23 de Abril Postado 23 de Abril Muito bacana o seu script! Confesso ter um certo ranço com VB e a biblioteca MSXML, ambos já me deram muita dor de cabeça no passado kkkk. Bons investimentos! 1 1
Recommended Posts
Crie uma conta ou entre para comentar
You need to be a member in order to leave a comment
Crie sua conta
Matricule-se na AUVP e faça parte da maior comunidade de influenciadores do Brasil.
Matricule-se na AUVPSign in
Already have an account? Sign in here.
Login