Notifications
Clear all

Eliminar células conforma data

13 Posts
6 Usuários
2 Reactions
2,805 Visualizações
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Olá amigos,

Quero uma ajuda para o seguinte:

Vou colocar em uma determinada planilha (segue o exemplo) uma célula onde mostre a data do dia (=hoje()). Em outra célula vou colocar uma determinada data. Quero que, se a data for atingida ou seja superior, um determinado intervalo de células seja limpo, ou deletados, podem perder toda a formatação, sem problemas.

O que quero é criar um sistema de segurança básico e bem simples.

Obrigado pela costumeira ajuda.

 
Postado : 05/02/2014 6:11 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Pode ser assim?

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 05/02/2014 7:29 am
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Obrigado Gilmar,

Mas acho que enviou meu próprio anexo. Está igual. Ao menos não estou vendo diferença.

Obrigado.

Edmilson

 
Postado : 07/02/2014 6:01 am
Weslley
(@weslley)
Posts: 90
Trusted Member
 

Meu caro, verifica se é isso...

Se a resposta foi útil, clique na mãozinha do lado da ferramenta Citar

Atenciosamente,

Weslley Henrique S.S.
MOS (Microsoft Office Specialist)

"O impossível é uma questão de tempo!"
(Alberto Saltiel)

 
Postado : 07/02/2014 6:17 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Obrigado Gilmar,

Mas acho que enviou meu próprio anexo. Está igual. Ao menos não estou vendo diferença.

Obrigado.

Edmilson

Vc tentou usar a planilha ao menos?

Se tivesse tentado, teria visto que ela faz o que vc pediu.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 07/02/2014 6:26 am
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Obrigado Gilmar,

Mas acho que enviou meu próprio anexo. Está igual. Ao menos não estou vendo diferença.

Obrigado.

Edmilson

Vc tentou usar a planilha ao menos?

Se tivesse tentado, teria visto que ela faz o que vc pediu.

Desculpe,

Eu realmente não tentei usar. Mas a intenção não é fazer um código em VB. Quero colocar de uma forma simples. Existe como?

De qualquer forma, como escreveu o código, mesmo com a data inferior a hoje(), ao colocar o valor já é deletado.

Obrigado e desculpe novamente.

Edmilson

 
Postado : 08/02/2014 5:51 pm
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Meu caro, verifica se é isso...

Wesley,

Obrigado por responder. O que preciso é isso mesmo. Mas acontece que eu gostaria de uma forma simples e não em VB.

Penso que (não sei se estou certo), alguém que não tenha o desenvolvedor habilitado, não dará certo.

Então eu pense em usar algum SE. Dessa forma eu oculto ou escrevo em uma linha bem distante e ninguém vê.

Consegue me ajudar?

Obrigado.

Edmilson

 
Postado : 08/02/2014 5:54 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Mas a intenção não é fazer um código em VB. Quero colocar de uma forma simples. Existe como?

De qualquer forma, como escreveu o código, mesmo com a data inferior a hoje(), ao colocar o valor já é deletado.

Obrigado e desculpe novamente.

Edmilson

Meu caro, o que vc quer não pode ser feito sem VBA.

Quanto a estar errado, é só uma questão de definir corretamente os parâmetros.

Neste novo anexo, coloquei a célula A1 para receber a data. Se ela for menor do que hoje, vai apagar todo o intervalo (conteúdo), e limpar toda a formatação).

Como vc pediu uma coisa simples, eu escrevi um código da maneira mais simples que conheço (se vc entrar no editor de macro, Alt + F11, der 2 cliques na planilha VBA, vc vai ser o código, e vai ser capaz de alterar, pois está o mais próximo possível do que vc escreveria com funções).

Agora, nesse novo anexo, incluí uma pequena "enganação", sem VBA.

Usei formatação condicional, para ocultar os valores e a formatação das células selecionadas. Os dados continuam lá, só que um pouco mais difíceis d serem vistos.

Vc pode selecionar a célula e ver os dados na barra de fórmulas, ou pode escolher limpar formatação, ou simplesmente pressionar Ctrl + Z.

No caso do VBA, nem o Ctrl + Z resolve.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 08/02/2014 8:18 pm
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Bom dia gtsalikis,

Perfeito. Regra Condicional é o cara.

Testado e aprovado.

Grande abraço.

Edmilson

 
Postado : 10/02/2014 5:41 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/02/2014 5:54 am
 Siqs
(@siqs)
Posts: 12
Active Member
 

@gtsalikis Bom dia!!! Cara, tenho uma planilha similar, mas invés de se basear em uma data, a minha se baseia em textos (faz uma busca desses status e identificando a existência deles, seleciona o intervalo da linha onde ele está e deleta as informações).

Coloquei a planilha que tentei (já com base em alguns vídeos que pesquisei), mas não tive sucesso.

Os status que precisam ter os dados deletados são: TESTE / NEGOCIANDO OUTRA OPÇÃO / APROVOU OUTRA OPÇÃO / LANÇAMENTO ERRADO / TOMADA DE PREÇO

Desde já agradeço a atenção e ajuda.

Abraço

 
Postado : 09/03/2022 11:58 am
(@osvaldomp)
Posts: 0
Eminent Member
 

@siqs

Experimente uma cópia do código abaixo.
Instale o código em um módulo comum e não no módulo da planilha, onde está o seu código atual.
Para inserir um módulo comum ~~~> no editor de VBA clique em Inserir | Módulo.

 

Sub DeletaRegistros()
Application.ScreenUpdating = False
With ActiveSheet
On Error Resume Next
.ShowAllData
On Error GoTo 0
.[B2:R2].AutoFilter Field:=3, Criteria1:=Array("TESTE", "NEGOCIANDO OUTRA OPÇÃO", _
"APROVOU OUTRA OPÇÃO", "LANÇAMENTO ERRADO", "TOMADA DE PREÇO"), _
Operator:=xlFilterValues, Operator:=xlFilterValues
.Range("B3:B" & .Cells(Rows.Count, 2).End(3).Row).EntireRow.Delete
.ShowAllData
End With
End Sub

 

Osvaldo

 
Postado : 10/03/2022 9:26 am
Siqs reacted
 Siqs
(@siqs)
Posts: 12
Active Member
 

@osvaldomp cara, funcionou perfeitamente.

Eu sou leigo em VBA, o pouco que consigo fazer é utilizando códigos que encontro na web e fazendo os ajustes, mas estou começando a entender um pouco, vou estudar esse seu código para entender a lógica (aquele que estava na planilha de exemplo funcionou após eu ter tirado o SET W = SHEETS("BASE") e usado o ActiveSheet) mas seu código executa de maneira bem mais rápida a limpeza.

Agora vou aprimorar mais essa planilha pois essa limpeza é apenas o início, preciso agora enviar as informações organizadas por data e status para outra aba que já tem formatações que não posso perder.

Obrigado novamente por dedicar seu tempo e pela ajuda.

Abs

 
Postado : 10/03/2022 5:02 pm
Osvaldomp reacted