Home Excel - Dicas Microsoft Excel VBA Excel VBA - Linhas e Colunas Excel planilha vba deletar linhas baseado em criterios

Excel planilha vba deletar linhas baseado em criterios

E-mail Imprimir PDF

Saberexcel o site de quem precisa aprender macros microsoft excel vba

E
sse macro do Aplicativo Microsoft Excel VBA, procura por determinada palavra em determinada coluna e a deleta, esses critérios são coletados a partir uma entrada de dados Inpubtox.  Espero que o exemplo possam lhes ser útil, Fique com Deus,
Expedito Marcondes.

Sub sbx_deletar_linhas_baseado_criterios()
    
    Dim vRange As Range, DeletaRange As Range, vColuna As Range
    Dim vProcuraTexto As String, vProcuraColuna As String, vColunaAtiva As String
    Dim PrimeiroEndereco As String, CheckaNulo As String
    Dim SCA

    [C1].Select ' Para selecionar a coluna(C),
    
    'Extraindo texto para coluna ativa (mas com o c1) select será direcionada para a coluna(C)    
    SCA = Split(ActiveCell.EntireColumn.Address(, False), ":")
    vColunaAtiva = SCA(0)
    
    vProcuraColuna = InputBox("Digite a coluna desejada ou cancela para sair", "Linha código para deletar", vColunaAtiva)
    
    On Error Resume Next
    Set vRange = Columns(vProcuraColuna)
    On Error GoTo 0
    
     'Se um intervalo inválido for inserido em seguida, sair
    If vRange Is Nothing Then Exit Sub
    
    vProcuraTexto = InputBox("Entre com o texto procurado", "Deleta código linha", [E1].Value) 'ActiveCell.Value)
    If vProcuraTexto = "" Then
        CheckaNulo = InputBox("Você realmente deseja excluir linhas com células vazias?" & vbNewLine & vbNewLine & _
        "Sim quero, caso contrário sairá código", "Cuidado", "Não")
        If CheckaNulo <> "Sim" Then Exit Sub
    End If
    
    Application.ScreenUpdating = False
    
     'para coincidir com a seqüência de texto TODO
    Set vColuna = vRange.Find(What:=vProcuraTexto, After:=vRange.Cells(1), LookIn:=xlValues, Lookat:=xlWhole)
     'para corresponder a uma cadeia de texto PARCIAL use esta linha
     'Set vColuna = vRange.Find(What:=vProcuraTexto, After:=vRange.Cells(1), LookIn:=xlValues, Lookat:=xlpart)
     'para coincidir com o caso e de uma cadeia de texto TODO
     'Set vColuna = vRange.Find(What:=vProcuraTexto, After:=vRange.Cells(1), LookIn:=xlValues, Lookat:=xlWhole, MatchCase:=True)
    
    If Not vColuna Is Nothing Then
        Set DeletaRange = vColuna
        PrimeiroEndereco = vColuna.Address
        Do
          Set vColuna = vRange.FindNext(vColuna)
          Set DeletaRange = Union(DeletaRange, vColuna)
        Loop While PrimeiroEndereco <> vColuna.Address
        'nao deixe de ver nosso trabalho com 100 planilhas exemplos Loops (com todas as intruções Do/While/Loop/until/For Next/)
    End If
          
     'Se houver condição verdadeira exclua as linhas
          sbx = MsgBox("As Linhas contendo a palavra [ " & [E1] & " ] serão deletadas!!!", vbYesNo + vbCritical, "CUIDADO - AÇÃO IRREVERSÍVEL!!")
           If sbx = 6 Then
              If Not DeletaRange Is Nothing Then DeletaRange.EntireRow.Delete
           End If
      'caso queira retirar a mensagem vbyesno.
 '    If Not DeletaRange Is Nothing Then DeletaRange.EntireRow.Delete
    
    Application.ScreenUpdating = True
    
End Sub
           

Sub limpar_teste()
[a].Copy [b]
[b].Value = "LISTA"
MsgBox "dados copiados para teste com sucesso!!!", vbInformation, "Saberexcel - site das macros"
End Sub



Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.



   Baixe o exemplo de planiha contendo os macros acima
Exel planilha vba deletar linhas baseado em criterios (88.53 KB)

Última atualização em Dom, 06 de Novembro de 2011 10:41  

Comentários   

 
Guest
# Guest 23-11-2011 16:23
Boa tarde...

Existe uma macro para deletar colunas baseado em critérios?

Se na linha 1, existir alguma célula com a string "deleta", excluir a coluna inteira


Seria isto, não estou encontrando exemplos.

Muito obrigado

ZUCOLLI
Responder | Responder com citação | Citar
 

Adicionar comentário

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade." Albert Einstein


Código de segurança
Atualizar

PROMOÇÃO DIDÁTICOS SABEREXCEL



Adquira já o Acesso Imediato
à Area de Membros

Compra Grantida --- Entrega Imediata

Aprenda Excel VBA com Simplicidade de 
códigos e Eficácia, Escrevendo Menos e
Fazendo Mais.

'-------------------------------------'
Entrega Imediata:
+  500 Video Aulas MS Excel VBA
+  35.000 Planilhas Excel e VBA
+  Coleção 25.000 Macros MS Excel VBA
+  141 Planilhas Instruções Loops
+  341 Planilhas WorksheetFunctions(VBA)
+    04 Módulos Como Fazer Excel VBA
+  Curso Completo MS Excel VBA
+  Planilhas Inteligentes


Pesquisa Google SaberExcel

Publicidade Google

<script type="text/javascript"><!--

google_ad_client = "ca-pub-2317234650173689";

/* retangulo 336 x 280 */

google_ad_slot = "0315083363";

google_ad_width = 336;

google_ad_height = 280;

//-->

</script>

<script type="text/javascript"

src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

Publicidade

RSFirewallProtected


Google Associados

Depoimentos

Adicione Saberexcel Favoritos

 
 

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


   Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA