Ir ao conteúdo
  • Cadastre-se

Excel VBA excluir linhas que contém de 0 à 180


Posts recomendados

É quase isso, só faltou atribuir o valor.

 

Assim seu código está testando uma variável com o valor sempre zero já que no VBA esse é o padrão para as numéricas.

 

Declare Valor, sugiro Long, e faça a atribuição antes do If, assim: Valor = Area(Linha).Value.

 

De qualquer forma não devia acontecer erro. Mostre a mensagem que aparece caso continue.

Link para o comentário
Compartilhar em outros sites

Midori, agora até funcionou mas por favor, se você puder dar uma revisada nesses códigos eu agradeço porque processo tá muito demorado pra processar apenas 200 linhas e tela fica piscando... No meu projeto real será até 5.000 linhas pra fazer exclusões tdeu...

VBA Impressão - VBA excluir linhas que contém de 0 à 180_Por Midori.xls

Link para o comentário
Compartilhar em outros sites

A melhoria pode ser na questão da velocidade fazendo como comentei, p.ex,

 

Sub ExcUlt180dias()
    Dim Area    As Range
    Dim Coluna  As Range
    Dim Linha   As Long
    Dim Conta   As Long
    
    Set Area = [B5:N204]
    Set Coluna = Area.Columns(8)
    Conta = WorksheetFunction.CountIf(Coluna, "<=180")
    
    If Conta > 0 Then
        Linha = Coluna.Rows.Count - Conta
        Call Area.Sort(Coluna, xlDescending)
        Call Area.Rows(Linha + 1).Resize(Conta).Clear
        Call MsgBox(Conta & " registros excluídos", vbInformation)
    End If
End Sub

 

Link para o comentário
Compartilhar em outros sites

beleza..!!

Mas só mais duas questões..

Substiuí o código e ao clicar no botão funcionou apenas uma vez e não mais mesmo fazendo o recarregamento dos dados o botão parece estar travado.

Outra coisa.. na primeira vez q funcionou, ele alterou a fonte de varias linhas ficando estranho.. até algumas com dd/mm/aa ficaram só o Ano...

Link para o comentário
Compartilhar em outros sites

Se o range atribuído for maior que a tabela, não vai funcionar. Então por exemplo no código coloquei B5:N204, supondo que a tabela tenha dados até a linha 100 ela seria menor que o range atribuído. No caso da fonte, deve ser questão de formatação. Para manter a configuração aplique ClearContents no lugar de Clear.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!