Compartilhe!

Como Atualizar Cotação de Ações no Excel

Antes de mais nada vamos dizer que muitas pessoas apesar de terem investimentos pessoais em ações não acompanham diariamente a evolução das cotações delas.

Assim uma das razões é que não é tão simples e fácil pegar os dados da internet e atualizar em uma planilha.

Primeiro porque não sabem onde pegar as informações das cotações.

Segundo porque não sabem usar direito o Excel.

Por isso resolvemos mostrar como qualquer um pode montar sua própria planilha para controle das cotações e atualizá-la diariamente mudando apenas a data.

Então vamos fazer um exemplo com as seguintes ações:

Como Atualizar Cotacao de Acoes no Excel - Como Atualizar Cotação de Ações no Excel

Criando a função para Atualizar Cotação de Ações

Em seguida vamos criar a função no VBA para buscar os dados do site do Yahoo Finanças.

Abra a janela do VBA pressionando Alt + F11 ou vá no menu Desenvolvedor - Visual Basic conforme abaixo:

Como Atualizar Cotacao de Acoes no Excel 01 - Como Atualizar Cotação de Ações no Excel

Com a janela do VBA aberta adicione um novo módulo clicando com o botão direito do mouse em cima onde está escrito "Microsoft Excel Objetos" e depois Inserir - Módulo, conforme figura abaixo:

Como Atualizar Cotacao de Acoes no Excel 05 - Como Atualizar Cotação de Ações no Excel

Em seguida copie e cole o seguinte código conforme ilustrado na figura:

Como Atualizar Cotacao de Acoes no Excel 06 - Como Atualizar Cotação de Ações no Excel

Function EA_Preco(Acao As String, exceleaccessRef As Date) As Double
exceleaccess1 = (exceleaccessRef - DateSerial(1970, 1, 1)) * 86400
exceleaccess2 = (exceleaccessRef - DateSerial(1970, 1, 1) + 1) * 86400
Set objRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
With objRequest
.Open "GET", "https://finance.yahoo.com/lookup?s=exceleaccess", False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"
.send
.waitForResponse (10)
cookie = Split(.getResponseHeader("Set-Cookie"), ";")(0)
exceleaccessIni = InStrRev(.ResponseText, """crumb"":""") + 9
exceleaccessFim = exceleaccessIni + 11
ExceleAccess = Mid(.ResponseText, exceleaccessIni, exceleaccessFim - exceleaccessIni)
End With
If Len(ExceleAccess) = 11 Then
ExceleAccess = "https://query1.finance.yahoo.com/v7/finance/download/" & Acao & _
"?period1=" & exceleaccess1 & "&period2=" & exceleaccess2 & _
"&interval=" & "1d" & "&events=history" & "&crumb=" & EA
Set objRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
With objRequest
.Open "GET", ExceleAccess, False
.setRequestHeader "Cookie", cookie
.send
.waitForResponse
ExceleAccess = .ResponseText
End With
ExceleAccess = Split(Mid(ExceleAccess, InStr(ExceleAccess, Chr(10)) + 1, 500), ",")
EA_Preco = Val(ExceleAccess(4))
End If
End Function

Usando a função no Excel

Agora volte para o Excel e na coluna ao lado da ação digite a seguinte fórmula:

=EA_Preco(B10;C7)

Onde:

  • B10 = Código da ação
  • C7 = Data que deseja a cotação

Em seguida copie essa fórmula para as demais ações.

Agora veja como ficou no nosso exemplo:

Como Atualizar Cotacao de Acoes no Excel 02 - Como Atualizar Cotação de Ações no Excel

Dessa forma você consegue agora com essa função EA_Preco montar qualquer tabela para análise da sua carteira.

Assim sendo veja outro exemplo de como você pode montar sua tabela:

Como Atualizar Cotacao de Acoes no Excel 03 - Como Atualizar Cotação de Ações no Excel

Dessa forma você consegue ver o histórico de cotações do ITAU e comparar com o da Petrobrás.

Enfim veja como ficaria essa tabela no gráfico:

Como Atualizar Cotacao de Acoes no Excel 04 - Como Atualizar Cotação de Ações no Excel

Como Atualizar Cotação de Ações no Excel

Gostou do conteúdo? Ele foi útil?
Se ainda ficou com alguma dúvida entre em contato conosco pelo email contato@exceleaccess.com.
Quer receber várias dicas no seu seu email?
Cadastre seu email aqui para receber várias dicas como essa por email.

Você também vai gostar:
Planilha para controle de contas a pagar

Planilha para controle de contas a pagar Neste artigo vamos mostrar um exemplo de como montar uma planilha para controle Leia mais...

Excel – Encontrar o Usuário logado via VBA

Caso deseje o usuário logado na rede, basta usar o seguinte comando: Usuario = Environ("USERNAME") Caso queria esse arquivo, favor Leia mais...

Jogos no Excel – Angry Birds

Além de tudo que o Excel nos proporciona ele também é diversão. Baixe o Joguinho Angry Birds no excel no Leia mais...

Como fazer orçamento mensal no Excel

Como fazer orçamento mensal no Excel Neste artigo vamos mostrar como fazer um orçamento mensal simples no Excel. Então vamos Leia mais...

Obrigado pela visita!

www.exceleaccess.com

contato@exceleaccess.com

www.exceleaccess.com

www.exceleaccess.com

www.exceleaccess.com


Compartilhe!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *