Notifications
Clear all

Macro deletar coluna

9 Posts
5 Usuários
0 Reactions
2,012 Visualizações
(@reyroo)
Posts: 4
New Member
Topic starter
 

Tenho essa macro, com ela consigo deletar coluna que contenha uma certa palavra texto... Preciso melhorar ela para deletar varias colunas contendo outras palavras simultanemente.. Ou seja deletar coluna que tem palavra(Fraco), palavra (Forte) etc.
A planilha tem varias colunas a ser descartadas..

Sub Macro1()
'
Dim faixa As Range
Dim celula As Range

Set faixa = Range("A1:ZZ1")
For Each celula In faixa
If celula.Value = "FRACO" Then
Columns(celula.Column).Select
Selection.EntireColumn.Delete
End If

Next
End Sub
 
Postado : 24/06/2013 2:06 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

talvez isso funcione

Option Explicit

Sub AleVBA_DeletColuna_8665()
     
    Dim c As Range, rngCol
     
    Set rngCol = Range("A1", Range("IV1").End(xlToLeft))
     
    For Each c In rngCol
        If c.Value = "FRACO" Or c.Value = "FORTE" Then
            c.EntireColumn.Delete
        End If
    Next c
End Sub

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

 
Postado : 24/06/2013 5:38 pm
(@wagner-aft)
Posts: 28
Eminent Member
 

Prezados,

Ressuscitando este tópico, preciso de uma macro que apague colunas quando encontre determinada palavra em alguma célula da coluna (exemplo a palavra DELETAR).
As macros colocadas acima, funcionaram parcialmente bem. Testei as duas e apresentaram o mesmo problema, que é: quando a palavra escolhida (DELETAR) aparece na mesma linha em colunas vizinhas a macro apaga uma coluna mas deixa a outra.

Valeu

 
Postado : 13/01/2017 9:53 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde Wagner,

Não entendi bem qual é o seu problema.
Coloque uma planilha de exemplo, assim fica mais fácil ajudar.

att,

 
Postado : 13/01/2017 11:45 am
(@wagner-aft)
Posts: 28
Eminent Member
 

Bruno,

Veja a planilha anexa.
Tenho uma aba "Despachos". A macro que estou usando era pra fazer o seguinte:
- Copia a aba "Despachos" e cria a "Despachos(2)" - ok
- Verificar as colunas que possuem a palavra "DELETAR" e apagar essas colunas. Porém, quando duas células vizinhas possuem a palavra DELETAR a macro apaga uma e pula pra seguinte.
Exemplo 1: Se as celulas A1 e B1 possuirem a palavra "DELETAR" a macro apagará a coluna A1 e manterá B1.
Exemplo 2: Se as celulas A1, B1 e C1 possuirem a palavra "DELETAR" a macro apagará a coluna A1, manterá B1 e apagará C1

A palavra DELETAR aparecerá nas células quando a fórmula verificar que o campo reservado para o despacho estiver em branco.

Deu pra captar?

Valeu!

 
Postado : 13/01/2017 2:00 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde Wagner,

Teste o código do arquivo em anexo, está no módulo 3.

O código cria uma nova planilha e depois na rotina de repetição vai deletando as colunas.
Veja se o resultado final é o esperado.

att,

 
Postado : 13/01/2017 3:58 pm
(@wagner-aft)
Posts: 28
Eminent Member
 

Bruno,

Bom dia!
Cara, a macro não resolveu o problema. Ela continua apagando a 1ª coluna e deixando a vizinha quando ocorre de ter colunas vizinhas com a palavra DELETAR na linha 25.
Observe na planilha DESPACHO original que as colunas que tem a palavra DELETAR são as dos seguintes despachos (Linha 7): DESPACHO 2, DESPACHO 3, DESPACHO 4, DESPACHO 6, DESPACHO 7, DESPACHO 10, DESPACHO 11 e DESPACHO 12.
A macro apagou as colunas dos seguintes despachos: DESPACHO 2, DESPACHO 4, DESPACHO 6, DESPACHO 10, DESPACHO 12
E manteve as colunas mesmo com as palavras DELETAR: DESPACHO 3, DESPACHO 7 e , DESPACHO 11.
Veja que por alguma razão ela apaga a primeira coluna da sequência de vizinhas e não apaga a do lado.

 
Postado : 14/01/2017 8:59 am
DJunqueira
(@djunqueira)
Posts: 772
Prominent Member
 

Solução proposta.

Se sua dúvida foi respondida marque o tópico como RESOLVIDO usando o botão com marca verde.

 
Postado : 15/01/2017 9:16 pm
(@wagner-aft)
Posts: 28
Eminent Member
 

Solução proposta.

Funcionou perfeitamente! Muito obrigado!!
Obrigado também ao Bruno pela atenção!

 
Postado : 16/01/2017 8:55 am