Ir ao conteúdo

Excel Apagar valores de uma coluna de células com valores específicos-VBA


Ir à solução Resolvido por Visitante,

Posts recomendados

Postado

Pessoal, por gentileza, estou com muita dificuldade em desenvolver uma solução para o meu caso:

 

Eu tenho uma planilha onde na coluna L, na coluna W e na coluna AH,  eu posto "Siglas", dentre elas, há uma variação para diferencia-las como: 1VAH (sendo: Item A) e 2VAH (sendo: Item B).

 

Minha necessidade começa quando eu tento criar algum código que rastreie essas três colunas (L,W e AH) e apague apenas os conteúdos das células que comecem com o número 2 (2PI por exemplo), 

 

Nesse momento, eu tenho essa solução, mas ela funciona para apenas umas célula e com valor específico.

 

Por gentileza, alguém poderia me dar uma força! Muito obrigado! 

 

Dim lngRow As Long, COL As Long
  
  Set mwksDados = ThisWorkbook.Worksheets("Plan1")
  
  With mwksDados
    For COL = 12 To 50
        For lngRow = 12 To .Cells(.Rows.Count, COL).End(xlUp).Row

          If .Cells(lngRow, COL).Value = "2vah" Then 
          
             .Cells(lngRow, COL).Value = ""
          End If
        Next
    Next COL
  End With

 

  • Solução
Postado

Experimente:

Sub ApagaIniciadasCom2()
 Dim i As Long
  Application.ScreenUpdating = False
   For i = 12 To 34 Step 11
    With ActiveSheet
     .AutoFilterMode = False
     .[A1:AR1].AutoFilter i, "2*"
     .Range(.Cells(2, i), .Cells(Rows.Count, i).End(3)).Value = ""
    End With
   Next i
   ActiveSheet.AutoFilterMode = False
  Application.ScreenUpdating = True
End Sub

obs.

1. considerei que ao rodar o código a planilha ativa será a planilha de interesse

2. considerei que a planilha contém cabeçalhos de A1 até AR1, altere se necessário

Postado

@osvaldomp Obrigado pelo auxílio, Osvaldo! No entanto, após testes, eu percebi que o código acima está apagando tanto as células que comecem com o número 2 como também as que começam com 1. Vendo isso, eu refinei os testes e decidi escrever aleatoriamente nas colunas em questão e ao rodar o código, ele continua apagando todas as células. Você saberia me dizer o motivo? Muito obrigado!

Postado

Por favor disponibilize uma amostra do seu arquivo Excel com o código instalado.

 

Coloque na planilha algumas linhas com dados (10 linhas no máximo) e pinte as células que você deseja que sejam apagadas, com base no critério que você estabeleceu, ou seja, cujo caractere inicial seja o número 2.

 

obs. arquivos com macros (.xlsm) precisam ser compactados antes de serem anexados aqui no fórum.

Postado

@osvaldomp Agradeço pela disponibilidade, Osvaldo. No entanto, por ora, eu improvisei a solução com o mesmo código que postei, só que "rodando um IF" para cada valor possível que possa aparecer na tabela. Não era o que eu esperava, mas me atendeu bem. Agradeço novamente o esforço e a ajuda com o seu código! Abraço! 

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!