Nessa aula eu vou te mostrar como pegar cotações de ações automaticamente com o VBA para automatizar o seu trabalho e ganhar produtividade!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala, galera! Estão prontos para aprender como pegar cotações de ações no VBA?
Nessa aula eu quero te mostrar como buscar ações com VBA (cotações de ações no VBA) de forma automática.
Isso quer dizer que você vai pegar cotações de ações automática com apenas um clique depois de criar o código (macros VBA).
As macros no VBA são códigos que você cria para poder executá-los depois para facilitar o seu trabalho.
Acompanhe a aula com atenção porque hoje nós vamos criar do zero um código simples para que você possa obter as cotações de ações e ajustar esses dados dentro do Excel para que possa utilizar para o seu trabalho.
Com isso já vai ter sua lista de ações e vai conseguir obter todos os dados necessários. Agora vamos aprender como pegar cotações de ações no VBA!
Em primeiro lugar precisamos ativar as referências “WinHTTP Services”, indo em Ferramentas > Referências, encontrando a caixinha correspondente e a ativando (OK), pois vamos precisar usá-la. Observe:
Ela vai nos permitir acessar o site escolhido e informado depois sem precisar baixar o arquivo CSV correspondente, e analisar os dados de forma a importá-los diretamente para o Excel.
Vamos, então, dimensionar a variável Http como uma nova requisição http válida (HttpRequest), segundo essa biblioteca, onde informamos que queremos que ela seja acessada sem baixar os arquivos
Definiremos uma variável de referência dataAgora, com a diferença da data atual para a data de 1 de Janeiro de 1970 (função DateDiff no VBA), que é a referência “zero” do site Yahoo Finance para guardar as cotações, e será usada como auxiliar do nosso link
Armazenar o link a ser acessado na Yahoo Finance na variável linkCot, usando a variável auxiliar de dataAgora concatenada com o resto do link pelo operador & no VBA
Dizer que queremos abrir o objeto Http e pegar a informação contida no linkCot, com a última instrução como False para dizer que queremos esperar ele pegar a informação para ir para a próxima linha de código
Vamos enviar o comando para o objeto Http de fato, porque antes (linha anterior de código) só o configuramos
Armazenaremos na célula sempre na 2ª coluna da nossa tabela, na linha dada pela variável lin da estrutura de repetição, fazendo a substituição do texto cabeçalho “Date,Open,High,Low,Close,Adj Close,Volume” (que aparece sempre e não queremos) por nada (“”), para que esse cabeçalho seja removido do texto de resposta do nosso comando Http.ResponseText. Além disso vamos aplicar a função TIRAR (Clean) para que seja removido um caracter de quebra de linha, desnecessário
Além disso, podemos ver na imagem acima que o texto fica quebrado automaticamente. Vamos desativar isso pelo VBA colocando como False o estado da propriedade WrapText.
Vamos repetir essas ações para todos os ativos listados na coluna A, tendo como resultado parcial:
Agora vemos que o resultado do código está em toda coluna B, e nossas informações precisam ser separados em colunas.
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.
Procure o que você quiser sobre Excel, VBA, Power BI ou Python:
Aprenda tudo de Excel para se tornar uma referência no Mercado de Trabalho
Leve os treinamentos da Hashtag para dentro da sua Empresa