Ir ao conteúdo
  • Cadastre-se

Excel Acumulando valores em tempo real - Bolsa de valores


Ir à solução Resolvido por OreiaG,

Posts recomendados

Olá senhores programadores!!

estou tentando criar uma planilha que vai somando a quantidade de contratos negociados na bolsa de valores em tempo real.

Através da ferramenta "real time data", a planilha recebe os contratos negociados em tempo real direto da plataforma profit

Essa linha azul é onde chega o preço (linha 2, F2), a partir dai a planilha teria que identificar qual foi o banco e ir somando os valores nesse mesmo banco

Por ex: BTG lançou 1000 contratos e depois mais 1000, no caso daria o total 2000 na célula K3.

             BGC Liquidez negociou vários contratos, a medida que for chegando vai somando no seu total BGC Liquidez (K7) e assim por diante. Que nesse caso teria que usar código em VBA.

 De um modo bem grosseiro, a lógica seria o seguinte:

Se E2 = "BTG" entao ACUMULA F2 em K2

Se E2 = "JP Morgan" entao ACUMULA F2 em K3

 

Não sei se consegui explicar direitinho mas agradeço todos que colaborarem

segue uma planilha em anexo

Pasta1.xlsx

Link para o comentário
Compartilhar em outros sites

  • Solução
21 horas atrás, Fredy Ferreira disse:

Essa linha azul é onde chega o preço (linha 2, F2), a partir dai a planilha teria que identificar qual foi o banco e ir somando os valores nesse mesmo banco

Por ex: BTG lançou 1000 contratos e depois mais 1000, no caso daria o total 2000 na célula K3.

             BGC Liquidez negociou vários contratos, a medida que for chegando vai somando no seu total BGC Liquidez (K7) e assim por diante.

 

Veja se atende.

O código abaixo deve ser colocado no módulo da Planilha1 (acesse o módulo via Alt+F11 e duplo clique em Planilha1).

Private Sub Worksheet_Calculate()
 Dim ac As Range
  Set ac = Range("J3:J" & Cells(Rows.Count, "J").End(3).Row).Find([E2])
  If Not ac Is Nothing Then ac.Offset(, 1).Value = ac.Offset(, 1).Value + [F2]
End Sub

 

Para forçar o recálculo da planilha ao ser alterado E2 ou F2 pelo link, coloque em duas células vazias estas fórmulas. Por exemplo =E2 em W1 e =F2 em Y1.

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, OreiaG disse:

 

Veja se atende.

O código abaixo deve ser colocado no módulo da Planilha1 (acesse o módulo via Alt+F11 e duplo clique em Planilha1).

Private Sub Worksheet_Calculate()
 Dim ac As Range
  Set ac = Range("J3:J" & Cells(Rows.Count, "J").End(3).Row).Find([E2])
  If Not ac Is Nothing Then ac.Offset(, 1).Value = ac.Offset(, 1).Value + [F2]
End Sub

 

Para forçar o recálculo da planilha ao ser alterado E2 ou F2 pelo link, coloque em duas células vazias estas fórmulas. Por exemplo =E2 em W1 e =F2 em Y1.

 

 

Poxa amigo, não sei como agradecer, está funcionando lindamente!!!!

 

só quero deixar um adendo e não sei se é a forma correta, mas para replicar para outros bancos coloquei da seguinte maneira:

 

Private Sub Worksheet_Calculate()
 Dim ac As Range
  Set ac = Range("J3:J" & Cells(Rows.Count, "J").End(3).Row).Find([E2])
  If Not ac Is Nothing Then ac.Offset(, 1).Value = ac.Offset(, 1).Value + [F2]
End Sub


Private Sub Worksheet_Calculate2()
 Dim ac As Range
  Set ac = Range("J4:J" & Cells(Rows.Count, "J").End(3).Row).Find([E2])
  If Not ac Is Nothing Then ac.Offset(, 1).Value = ac.Offset(, 1).Value + [F2]
End Sub

 

---------------

Esta funcionando mas não sei se é a forma correta

 

Mas de qualquer maneira, estou muito feliz com sua ajuda

Muito obrigado!!! 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, Fredy Ferreira disse:

só quero deixar um adendo e não sei se é a forma correta, mas para replicar para outros bancos coloquei da seguinte maneira:

Esta funcionando mas não sei se é a forma correta

 

 

Se está funcionando então é o resultado do código que eu postei. Pode apagar o código que você inventou (Worksheet_Calculate2()) que vai funcionar igual.

 

O código que postei busca na coluna "J" o nome do Banco que for colocado pelo link em E2, e se esse nome não for encontrado na coluna "J" o código nada faz. Então, para replicar em outros Bancos, elabore na coluna "J" a lista com todos os nomes dos Bancos do seu interesse que poderão aparecer em E2. Basta isso.

 

No entanto, se você quiser captar o nome do Banco em outra célula além de E2, então você precisa passar mais detalhes e exemplos.

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Fredy Ferreira , Bom Dia.

 

A formula só está somando o que tem na planilha e não é acumulativa, para fazer o que voce quer é só por VBA, como o colega OreiaG fez.

 

Se voce colocar na planilha todas as movimentações numa aba por exemplo, ai a formula vai conseguir ajudar voce

 

Decio

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

10 horas atrás, OreiaG disse:

 

Se está funcionando então é o resultado do código que eu postei. Pode apagar o código que você inventou (Worksheet_Calculate2()) que vai funcionar igual.

 

O código que postei busca na coluna "J" o nome do Banco que for colocado pelo link em E2, e se esse nome não for encontrado na coluna "J" o código nada faz. Então, para replicar em outros Bancos, elabore na coluna "J" a lista com todos os nomes dos Bancos do seu interesse que poderão aparecer em E2. Basta isso.

 

No entanto, se você quiser captar o nome do Banco em outra célula além de E2, então você precisa passar mais detalhes e exemplos.

Ahhhhh entendi meu caro! 

assim q chegar em casa vou deixar o original q você postou anteriormente. Mas ta tudo perfeito!

Muito obrigado 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!