Ir ao conteúdo

Posts recomendados

Postado

<> Pessoal, boa tarde.

Tudo bem?

 

Eu estou tentando encontrar uma forma de operacionalizar uma planilha que atualize e salve automaticamente os dados dos últimos 5 minutos que fluírem via RTD em duas células específicas. Neste caso, segue exemplo:

 

i. Células A1 e B1 estão sendo atualizadas via RTD.

ii. Toda vez que a Célula A1 ou B1 for alterada, a macro vai pegar o valor de A1 e B1 (Range) e salvar nas células D1 e E1.

iii. A Macro irá preencher o horário em que ela salvou os dados no intervalo D1 e E1 - Exemplo: A1 e B1 mudaram às11h00. Ela Salva em C1: 9h00 e D1 e E1 como os valores atualizados em A1 e B1. Às 11:01, A1 e B1 mudam. Logo, a macro vai pegar esses valores e salvar em C1: 9h01 e D2 e E2 com os valores atualizados de A1 e B1.

iv: Como o intervalo era de 5 minutos, às 9h06, ela vai apagar todos os dados de 9h00 (tendo em vista que podem ter mil atualizações de mili segundos) e continuar salvando com base em 9h06 e sucessivamente. Às 9h07, os dados de 9:01 se apagam e por aí vai.

 

Alguém faz alguma ideia de como posso fazer isso? Agradeceria imensamente.

 

Um abraço,

Guilherme

Postado

No seu exemplo, por que C1 é salvo com 9h00 se a alteração da célula é às 11h00?

 

Para salvar os dados a macro deve fazer o uso de eventos, e nesse caso pode ser o Calculate.

 

Anexe um arquivo, pode ser com dados fictícios, para servir como base para quem vai te ajudar.

Postado

@Midori Primeiramente, muito obrigado pelo suporte prestado. Desculpa se não fui claro. 

 

Anexo, coloquei um arquivo base/referência para tentar ilustrar a minha necessidade. As células que são alimentadas pelo link RTD sempre são as mesmas, assim como as células que fazemos os cálculos em cima. Coloquei em momentos diferentes para tentar ilustrar o que preciso operacionalizar. Veja se fica claro o racional e se possui alguma de forma de me ajudar. 

 

Agradeço desde já!

 

Atenciosamente,

Guilherme

Exemplo Planilha.xlsx

Postado

@Guilherme S Gomes Ainda não está muito claro, ainda mais a parte de preencher pela diferença. Mas para registrar os valores atualizados pelo RTD pode ser assim,

 

Private Sub Worksheet_Calculate()
    Dim AreaRTD     As Range
    Dim UltLinha    As Long
    
    Set AreaRTD = [A1:B1]
    
    Application.EnableEvents = False
        UltLinha = [D1].CurrentRegion.Rows.Count + 1
        [C1].Cells(UltLinha).Value = Time
        [D1].Cells(UltLinha).Resize(1, 2).Value = AreaRTD.Value
    Application.EnableEvents = True
End Sub

 

Cole no módulo da Planilha2 e veja se consegue adaptar.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!