Detalhes de Exel planilha vba deletar linhas baseado em criterios

PropriedadeValor
Nome:Exel planilha vba deletar linhas baseado em criterios
Descricao:



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),
'Extract active column as text

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.




Nome do arquivo:Excel planilha vba deletar linhas baseado em criterios.zip
Tamanho: Vazio
Tipo:zip (Tipo de Mime: application/zip)
Autor:Escola Saberexcel VBA Estudos®
Criado em: 06/11/2011 11:32
Visitas:Todos
Responsavel:Autor
Acessos:1143 Acessos
Atualizado em: 06/11/2011 11:33
Site: