Ir ao conteúdo
  • Cadastre-se
Costa Luis

Excel Inverter direção da macro

Posts recomendados

Boa tarde pessoal.

Não sei nada de programação, mais estou preparando uma planilha assistindo vídeo aulas e coletando alguns códigos que possa adaptar.
Tenho uma planilha que entra nada mais nada menos que 100.000 linhas, mais queria deletar quase todas ficando apenas as linhas com datas referente ao dia atual.

 

Tem alguma macro que possa selecionar duas datas e ele deletar todo esse período?

 

Até encontrei um código que abria uma caixa de pesquisa, mais só entrava com uma data e como ele deletava linha por linha isso demorou muitos minutos.

Além que ele começava a deletar as linha de baixo pra cima, sendo que as linhas que preciso estão na parte de baixo.


Se alguém poder me ajudar agradeço desde já, obrigado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teoricamente isso é fácil mas é necessário detalhes pra montar. você precisa postar seu modelo e dizer extamente o que precisa fazer

Compartilhar este post


Link para o post
Compartilhar em outros sites
14 minutos atrás, André_Arruda disse:

Teoricamente isso é fácil mas é necessário detalhes pra montar. você precisa postar seu modelo e dizer extamente o que precisa fazer

 

Preciso que a macro delete todas as datas que não seja a data do dia atual, como faço isso em varias planilhas e varias vezes ao dia, fica cansativo. Mandei o arquivo em anexo.
Obrigado

Tratamento.xlsx

Compartilhar este post


Link para o post
Compartilhar em outros sites

quantas planilhas, onde estão elas. É quantidade fixa de planilhas ou dinamica. Existe alguma planilha na pasta que não deve ser verificada para exclusão? 

 

É recomendado que poste o mais fiel possivel à realidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 minuto atrás, André_Arruda disse:

quantas planilhas, onde estão elas. É quantidade fixa de planilhas ou dinâmica. Existe alguma planilha na pasta que não deve ser verificada para exclusão? 

 

É recomendado que poste o mais fiel possível à realidade.

São todas copias dessa que te mandei, só com números diferentes.
São planilhas fixas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o código para exclusão:

 

Sub macro()
For Each cel In ActiveSheet.Range("A:A")
    If cel.Text Like CStr(Year(Date) & "." & _
    Format(Month(Date), "00") & "." & Format(Day(Date), "00")) & " *" Then
    v_row = cel.Row
    GoTo nx_step
    End If
    
Next
nx_step:

Debug.Print v_row

ActiveSheet.Range("A1:A" & v_row - 1).Select
Selection.EntireRow.Delete
    
End Sub

Para algo mais automatizado, poste sua pasta de trabalho com as planilhas para que eu tenha uma noção;

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, André_Arruda disse:

Segue o código para exclusão:

 


Sub macro()
For Each cel In ActiveSheet.Range("A:A")
    If cel.Text Like CStr(Year(Date) & "." & _
    Format(Month(Date), "00") & "." & Format(Day(Date), "00")) & " *" Then
    v_row = cel.Row
    GoTo nx_step
    End If
    
Next
nx_step:

Debug.Print v_row

ActiveSheet.Range("A1:A" & v_row - 1).Select
Selection.EntireRow.Delete
    
End Sub

Para algo mais automatizado, poste sua pasta de trabalho com as planilhas para que eu tenha uma noção;


Perfeito meu querido, serviu de forma sensacional.
Muito obrigado e boa noite a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Sub ExcluiLinhas()
 Range("A1:A" & [A:A].Find(Format(Date, "yyyy.mm.dd")).Row - 1).EntireRow.Delete
End Sub

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, osvaldomp disse:

Sub ExcluiLinhas()
 Range("A1:A" & [A:A].Find(Format(Date, "yyyy.mm.dd")).Row - 1).EntireRow.Delete
End Sub

 

 Funcionou perfeitamente, muito obrigado meu querido.😜

adicionado 12 minutos depois

@osvaldomp  Funcionou certinho, mais pode me ajudar mais um pouquinho?


Se trata da mesma planilha, depois de rodar sua macro, preciso eliminar a data do dia atual também que contenham o horário 

das 0:00 até 5:45 tendo em conta que esse horário é europeu, e só a partir das 06:00 é considerado nossa 0:00
 

2020.06.03 00:00,0.93214,0.93236,0.93105,0.93231,229,0

2020.06.03 00:15,0.93228,0.93229,0.93145,0.93154,169,0

2020.06.03 00:30,0.93155,0.93190,0.93135,0.93155,156,0

2020.06.03 00:45,0.93155,0.93192,0.93111,0.93141,211,0

2020.06.03 01:00,0.93141,0.93223,0.93141,0.93217,282,0

2020.06.03 01:15,0.93216,0.93234,0.93187,0.93204,188,0

2020.06.03 01:30,0.93206,0.93218,0.93187,0.93213,163,0

2020.06.03 01:45,0.93210,0.93217,0.93137,0.93213,253,0

2020.06.03 02:00,0.93196,0.93221,0.93175,0.93201,225,0

2020.06.03 02:15,0.93201,0.93272,0.93174,0.93230,368,0

2020.06.03 02:30,0.93230,0.93505,0.93228,0.93438,889,0

2020.06.03 02:45,0.93437,0.93477,0.93379,0.93402,540,0

2020.06.03 03:00,0.93402,0.93495,0.93391,0.93479,676,0

2020.06.03 03:15,0.93479,0.93699,0.93463,0.93623,705,0

2020.06.03 03:30,0.93623,0.93772,0.93613,0.93764,679,0

2020.06.03 03:45,0.93764,0.93890,0.93753,0.93788,1022,0

2020.06.03 04:00,0.93791,0.94088,0.93781,0.94015,1095,0

2020.06.03 04:15,0.94016,0.94169,0.93916,0.93919,876,0

2020.06.03 04:30,0.93931,0.94045,0.93721,0.93797,1034,0

2020.06.03 04:45,0.93764,0.93862,0.93741,0.93775,902,0

2020.06.03 05:00,0.93777,0.93809,0.93651,0.93661,656,0

2020.06.03 05:15,0.93661,0.93684,0.93575,0.93604,526,0

2020.06.03 05:30,0.93604,0.93696,0.93597,0.93691,550,0

2020.06.03 05:45,0.93690,0.93755,0.93674,0.93704,497,0

2020.06.03 06:00,0.93697,0.93706,0.93592,0.93622,443,0

2020.06.03 06:15,0.93622,0.93691,0.93609,0.93669,470,0

2020.06.03 06:30,0.93669,0.93738,0.93662,0.93708,462,0

2020.06.03 06:45,0.93708,0.93734,0.93682,0.93714,500,0

2020.06.03 07:00,0.93714,0.93725,0.93622,0.93682,488,0

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, Costa Luis disse:


 ...depois de rodar sua macro, preciso eliminar a data do dia atual também que contenham o horário 

das 0:00 até 5:45 ...

Não é necessário rodar a macro anterior, rode apenas a macro abaixo.

 

  ...tendo em conta que esse horário é europeu, e só a partir das 06:00 é considerado nossa 0:00
Considerei o horário que estará na planilha.

 

 

Sub ExcluiLinhasV2()
 Range("A1:A" & [A:A].Find(Format(Date, "yyyy.mm.dd 05:45")).Row).EntireRow.Delete
End Sub

 

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 minutos atrás, osvaldomp disse:

 


Sub ExcluiLinhasV2()
 Range("A1:A" & [A:A].Find(Format(Date, "yyyy.mm.dd 05:45")).Row).EntireRow.Delete
End Sub

 

Parabéns e muito obrigado meu querido. Funcionou perfeitamente 👏

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!