Ir ao conteúdo
  • Cadastre-se

Macro: Copiar e colar celula em uma determinada hora


Posts recomendados

Olá!

Estou tentando criar uma planilha que possa copiar e colar uma determinada célula quando uma determinada hora chegar.

Ex: tenho um valor na célula A1, na célula A2 a fórmula (=agora()) que esta formatada para mostrar apenas a hora e não data e hora e a célula A3 em branco. O que eu quero é criar uma macro ou fórmula que copie e cole a célula A1 na célula A3, quando a célula A2 estiver em 11:15 por exemplo.

Como não sei mexer com VBA, tentei fazer através de fórmulas, mas ficou enorme e não deu certo.

Alguém tem alguma dica ou ideia de como fazer isso? poderia me enviar uma macro?

Obrigado!

Link para o comentário
Compartilhar em outros sites

1. cole os códigos abaixo em um módulo comum

2. coloque em 'A2' a hora em que deseja copiar de 'A1' para 'A3', neste formato: '10:15:00', ou 14:55:12', ...

3. para dar a partida acione a macro 'Barça4X0' por meio de um botão, por ex.

4. feito! no horário colocado em 'A2' o conteúdo de 'A1' será copiado para 'A3'

6. poderá alterar a hora em 'A2'; após cada alteração clicar novamente no botão para acionar a macro

Public dTime As Date
Sub Barça4X0()
Application.OnTime TimeValue([A2].Text), "CopiaA1"
Application.OnTime dTime, "CopiaA1"
End Sub

Sub CopiaA1()
[A3] = [A1]
End Sub

Link para o comentário
Compartilhar em outros sites

Obrigado osvaldomp,

Esqueci de mencionar que preciso fazer o mesmo para as próximas 152 colunas. Como adicionar isso na macro?

Tb, preciso que a macro copie e cole em A3, mas com o colar especial - só valores. Como adaptar isso tb?

Obrigado pela ajuda!

Abs.

osvaldomp,

Não sei fui claro, mas a minha intenção era que a macro fosse acionada automaticamente, quando o horário chegasse. Esse código fará isso?

Obrigado mais uma vez.

Link para o comentário
Compartilhar em outros sites

Esqueci de mencionar que preciso fazer o mesmo para as próximas 152 colunas.

1. quais as células origem e destino?

2. as cópias serão feitas todas em um mesmo horário, colocado em 'A2', ou horários diferentes?

Tb, preciso que a macro copie e cole em A3, mas com o colar especial - só valores. Como adaptar isso tb?
3. em 'A1' existe fórmula?
Não sei fui claro, mas a minha intenção era que a macro fosse acionada automaticamente, quando o horário chegasse. Esse código fará isso?
4. após clicar no botão, o código vai aguardar o relógio do PC atingir a hora colocada em 'A2', e então vai fazer a cópia. Você quer que funcione sem precisar clicar ?
Link para o comentário
Compartilhar em outros sites

1. quais as células origem e destino?

Sempre copia linha 1 o preço. Linha 2 a hora e linha 3 a cópia.

2. as cópias serão feitas todas em um mesmo horário, colocado em 'A2', ou horários diferentes?

Sim terão a mesma hora, mas como é uma planilha da bolsa de valores, cada coluna é um ativo. Assim, a hora muda de acordo com a última negociação do papel.

3. em 'A1' existe fórmula?

Sim. É um procv que busca os preços em uma outra planilha.

4. após clicar no botão, o código vai aguardar o relógio do PC atingir a hora colocada em 'A2', e então vai fazer a cópia. Você quer que funcione sem precisar clicar ?

Sim, gostaria que funcionasse sem clicar no botão. Se quiser, me passe seu e-mail e eu te envio o planilha para você analisar.

Link para o comentário
Compartilhar em outros sites

Resumo, quer copiar a linha 1 e colar na linha 3.

2. as cópias serão feitas todas em um mesmo horário, colocado em 'A2', ou horários diferentes?

Sim terão a mesma hora,

Perfeito, então, certeza, todas as células serão copiadas/coladas no mesmo horário!

...mas como é uma planilha da bolsa de valores, cada coluna é um ativo. Assim, a hora muda de acordo com a última negociação do papel.

Esse mas significa o quê exatamente? Serão ou não copiadas/coladas no mesmo horário? A certeza aí de cima vazou...

Imagino que a linha '1' seja alimentada continuamente com as cotações/valores das ações. Se for isso, sugiro uma macro temporizada, que faça o copiar/colar no intervalo de tempo determinado, durante o horário do pregão.

Ex. horário do pregão >> 10:00 à 18:00, intervalo para disparo da macro >> 5min, então você abre o arquivo antes das 10:00, e entre 10 e 18h, a cada 5min, a macro copia/cola TODAS as células de interesse de uma única vez.

Link para o comentário
Compartilhar em outros sites

você esta certo, osvaldomp!

Quando citei o "mas" é porque algumas ações por ter baixo volume, podem não ter negociação no horário determinado. Mas o pensamento é esse mesmo, quando der 11:15 todas a células são copiadas de A1 para A3.

O que eu pretendo é ativar a macro quando cada ativo fizer uma negociação as 11:15;11:30;11:45;12:00

Serão 4 operações em cada ativo por dia.

Ex: Coluna A

Linha 1=Ativo=Petr4

Linha 2=Preço=24,35

Linha 3=Hora=11:15

Linha 4=Cópia=24,35

Mas, quando chegar as 11:30 vou fazer isso tudo de novo, mas copiar na linha 5, o preço que foi negociado as 11:30. Quando chegar as 11:45 o mesmo, mas copiado na linha 6 e por fim as 12:00 na linha 7

Estava pensando e acho melhor colocar os ativos nas linhas e o preço, hora e cópias nas colunas A,B,C,D,E,F,G. O que acha?

No caso de exemplo acima ficaria:

Ex: Linha 1

Coluna A=Ativo=Petr4

Coluna B=Preço=24,35 (esse preço vai alterando a cada segundo, de acordo com as negociações)

Coluna C=Hora=11:15 (depois 11:30;11:45;12:00)

Coluna D,E,F,G=Cópias=24,35 (e outros preços nas colunas seguintes)

Só que como te disse serão, então, 152 linhas com 152 ativos e todos rodarão a macro quando chegar nos horários determinados.

Obrigado pela ajuda!

Link para o comentário
Compartilhar em outros sites

É possível pragramar o código para rodar nos 4 horários pretendidos.

Estude qual a melhor estrutura para a sua planilha, se os ativos em linhas ou em colunas, e depois disponibilize aqui no fórum um exemplo, com explicações na própria planilha, indicando as células de origem e as células destino dos dados, e tb os resultados esperados.

Link para o comentário
Compartilhar em outros sites

  • 6 anos depois...

Olá, boa tarde.

Eu tenho essa planilha como na imagem. E eu queria que nos determinados horários ela copiasse o último preço pras respectivas colunas.

E eu também preciso que essas infos fiquem num histórico, sempre de dez dias. Podem ser os 10 dias na mesma aba ou em abas diferentes (1 aba pra cada dia) Poderia me ajudar por favor?

l.jpg

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!