Notifications
Clear all

[Resolvido] Copiar intervalo baseado em criterio de tempo em VBA

5 Posts
1 Usuários
0 Reactions
1,172 Visualizações
(@rafadeggau)
Posts: 8
Active Member
Topic starter
 

Fala Galera, alguém pode ajudar?

Tenho uma pasta de trabalho com duas planilhas

Na plan1 eu uso 7 colunas (A:G)

Sendo que a coluna B é formato de data (m/d/aaaa h:mm:ss AM/PM) e será usada como fonte do critério a ser validado

Eu preciso copiar, através de um comando de macro, o Intervalo (AX:GY) e inserir em plan2.

X = primeira linha com conteúdo contendo dados do minuto passado { Now - TimeVallue(“00:01:00”) }

Y = última linha com conteúdo do minuto passado

Após este comando de selecionar o intervalo com os dados do minuto passado (que estou pedindo a vocês) eu queria usar este código abaixo para inserir antes dos outros dados em plan2:

Sheets(“Plan2”).Select
Range(“A1”).Select
Selection.Insert Shift:=xlDown
ActiveSheet.Paste
Application.CutCopyMode = False

Obrigado

 
Postado : 11/11/2020 9:21 am
(@rafadeggau)
Posts: 8
Active Member
Topic starter
 

Bom dia,

Eu estava relendo minha postagem e percebi que uma orientação que dei não está correta.

A instrução { Now - TimeVallue(“00:01:00”) } não representa o que eu quero buscar.

Exemplo: Se agora= 07:48:26, então o intervalo que será calculado será o que estiver entre 07:47:26 até NOW

Não é isso que eu quero. O resultado que eu quero é o que está entre 07:47:00 e 07:47:59

Busco o resultado do minuto anterior “completo” (do 00 seg até os 59 segundos)

 
Postado : 12/11/2020 7:53 am
(@rafadeggau)
Posts: 8
Active Member
Topic starter
 

Tabela exemplo

 
Postado : 12/11/2020 4:15 pm
(@rafadeggau)
Posts: 8
Active Member
Topic starter
 

Poderia ser um módulo contendo uma macro que seria chamada manualmente por um botão.

O intervalo analisado seria A:G da Plan1 até a última linha com dados (se ficar mais fácil, pode limitar até a linha 5000, neste caso A1:G5000) lembrando que a primeira linha é um cabeçalho, então A2:G5000

A coluna com o tempo a ser procurado sempre será a B em Plan1

Os dados são dispostos em ordem decrescente de tempo e sempre ordenados, isto é, o mais recente na primeira linha e o mais antigo na última linha. Por isso os extremos do intervalo alvo sempre serão 00 segundos (em baixo) e 59 segundos (em cima)

Após selecionar este intervalo (do minuto anterior ao clique no botão que aciona a macro) preciso que seja inserida uma cópia desta seleção na célula A1 da Plan2 deslocando os dados existentes para baixo.

 
Postado : 13/11/2020 6:38 pm
(@rafadeggau)
Posts: 8
Active Member
Topic starter
 

Deixo abaixo o link para a solução.

 

Obrigado

 

http://gurudoexcel.com/forum/viewtopic.php?f=12&t=13975

 

 
Postado : 17/11/2020 1:17 pm