Como substituir automaticamente a fórmula do Excel por um valor quando a condição de data / hora é atingida

0

Eu preciso registrar os resultados de uma célula em constante mudança com base em critérios externos.

O valor da célula B3 está mudando e preciso registrar o valor de B3 em pontos específicos no tempo. A célula D2 contém a data ( 9/12/14 ) e a célula D3 contém o tempo real ( 7:30:58 ). Eu tenho uma tabela configurada com horários e datas específicos nas colunas I (date) e J (time). Preciso registrar o resultado de B3 quando a data / hora atende aos critérios da tabela.

Depois de procurar uma maneira de fazer isso, percebo que precisarei usar o VBA; No entanto, sou muito novo no VBA. Meus pensamentos iniciais deveriam ter uma função IF simples em H2 como

=IF($D$2&$D$3=I2&J2,"$B$3","")

No entanto, quando a hora muda, o critério não é mais atendido e o resultado desaparece, e eu preciso salvar o resultado. Eu também preciso que a solução seja aplicada na próxima data e hora localizada em I3 & J3, assim como I4 & J4 e assim por diante.

Qualquer ajuda em uma solução VBA seria muito apreciada.

    
por Kurt 12.09.2014 / 16:40

1 resposta

0

Acho que o exemplo a seguir corresponde ao que você solicitou. Eu criei uma sub-rotina de VB para colocar um valor aleatório em B3, para simular a mudança de valor em sua situação. O código VB também verifica a data e a hora atuais em relação a valores em uma lista e, se eles corresponderem, registrará o valor aleatório em uma célula ao lado da data e hora correspondentes. Não mostrada nas imagens abaixo é a técnica que eu usei para colocar valores somente de data e somente tempo em D2 e D3 para que as comparações funcionassem. Para a data, usei isto:

=datevalue(month(now()) & "/" & day(now()) & "/" year(now()))

E para o valor do tempo:

=time(hour(now()),minute(now()),second(now()))

    
por 12.09.2014 / 18:25