Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Copiar intervalo baseado em criterio de tempo em VBA

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
rafadeggau
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Nov 13, 2020 6:42 am

Copiar intervalo baseado em criterio de tempo em VBA

Mensagem por rafadeggau »

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

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



Obs.: 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)

https://www.tomasvasquez.com.br/forum/d ... ew&id=6135

https://www.tomasvasquez.com.br/forum/d ... ew&id=6134
Anexos
Plan2.JPG
Plan2.JPG (153.39 KiB) Exibido 2610 vezes
Plan1.JPG
Plan1.JPG (204.08 KiB) Exibido 2610 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Copiar intervalo baseado em criterio de tempo em VBA

Mensagem por Reinaldo »

...Obs.: A instrução { Now - TimeVallue(“00:01:00”) } não representa o que eu quero buscar....
Diretamente não, mas é preciso "trabalhar" o que existe para representar o espera

Talvez algo +/- assim:

Código: Selecionar todos

Sub tt()
Dim hrs As Date
Dim hj As Date
hrs = Format(Now - TimeValue("00:01:00"), "dd/mm/yyyy hh:mm")
hj = hrs + TimeValue("00:00:59")
MsgBox hrs & "_/_" & hj
End Sub


rafadeggau
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Nov 13, 2020 6:42 am

Re: Copiar intervalo baseado em criterio de tempo em VBA

Mensagem por rafadeggau »

Obrigado Reinaldo,

Entendi perfeitamente como este resultado foi obtido somente porque você escreveu o caminho.

Não sou programador, sou analfabeto nesta linguagem. O que eu consigo fazer é ligar a gravação de macro e ir fazendo o que eu quero e depois eu dou uma olhada no código gerado ou através de pesquisa em fóruns dando ControlC em tabelas de terceiros, mas vou me virando como posso.

Confesso que que não sei como usar o seu código como critério que possa ser usado em fórmulas para extrair do intervalo A:G os dados que correspondam ao código e depois inserir em A1 da Plan2

Pode ajudar?


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Copiar intervalo baseado em criterio de tempo em VBA

Mensagem por Reinaldo »

Poderia até tentar, após entender a dinâmica a ser aplicada (momento/tipo de input/disparo), pois normalmente em exposições assim resumidamente simples, ao propor uma possibilidade "escutamos": Quase la, não e exatamente isso, etc... Gerando muito retrabalho e dispersão de energia
Também é preciso de seu modelo representativo da estrutura de suas sheets (lay-out, ordem, etc..)


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


rafadeggau
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Nov 13, 2020 6:42 am

Re: Copiar intervalo baseado em criterio de tempo em VBA

Mensagem por rafadeggau »

Entendo perfeitamente o que você está dizendo.

Vou tentar explicar o que já seria satisfatório, à ponto de eu não dizer "quase lá"!

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.


rafadeggau
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Nov 13, 2020 6:42 am

Re: Copiar intervalo baseado em criterio de tempo em VBA

Mensagem por rafadeggau »

Deixo abaixo o link para a solução.



Obrigado



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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder