Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Copiar intervalo baseado em criterio de tempo em VBA
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Nov 13, 2020 6:42 am
Copiar intervalo baseado em criterio de tempo em VBA
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
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 (153.39 KiB) Exibido 2633 vezes
-
- Plan1.JPG (204.08 KiB) Exibido 2633 vezes
- Reinaldo
- 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
Diretamente não, mas é preciso "trabalhar" o que existe para representar o espera...Obs.: A instrução { Now - TimeVallue(“00:01:00”) } não representa o que eu quero buscar....
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
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Nov 13, 2020 6:42 am
Re: Copiar intervalo baseado em criterio de tempo em VBA
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?
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?
- Reinaldo
- 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
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..)
Também é preciso de seu modelo representativo da estrutura de suas sheets (lay-out, ordem, etc..)
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Nov 13, 2020 6:42 am
Re: Copiar intervalo baseado em criterio de tempo em VBA
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.
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.
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Nov 13, 2020 6:42 am
Re: Copiar intervalo baseado em criterio de tempo em VBA
Deixo abaixo o link para a solução.
Obrigado
http://gurudoexcel.com/forum/viewtopic.php?f=12&t=13975
Obrigado
http://gurudoexcel.com/forum/viewtopic.php?f=12&t=13975