Boa noite.
Estou iniciando no VBA e estou com algumas dificuldades. Estou desenvolvendo um código onde desejo excluir linhas de acordo com algum critério.
Conforme pesquisa encontrei o código abaixo na própria página do Tomas.
No exemplo ele menciona a palavra ''London'' porém o que estou precisando é uma célula vazia. Fiz o teste trocando apenas por '' '' e a macro trava.
Gostaria de saber onde está meu erro e quais sugestões poderiam passar.
Caso necessite mais de um critério onde entraria o ''AND'' no código?
Agradeço desde já.
Function DeleteRowsByCriteria(ByVal firstRow As Integer, ByVal lastRow As Integer, ByVal criteriaColumn As Integer, ByVal criteria As String) As Integer
Dim deletedRows As Integer
Dim i As Integer
deletedRows = 0
With ActiveSheet
i = firstRow
While i < lastRow
If CStr(.Cells(i, criteriaColumn).Value) = criteria Then
.Rows(i).Delete
deletedRows = deletedRows + 1
Else
i = i + 1
End If
Wend
End With
DeleteRowsByCriteria = deletedRows
End Function
Sub Execute()
MsgBox DeleteRowsByCriteria (1, 200, 6, "London") & " rows has been deleted"
End Sub
ATENÇÃO NOVOS USUÁRIOS
Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.
Esqueceu sua senha?
Você pode usar o mecanismo de lembrete neste link: Recuperar senha
Você receberá um link de reativação no email cadastrado.
Não recebeu o email? Lembre-se checar o Lixo Eletrônico.
Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.
Esqueceu sua senha?
Você pode usar o mecanismo de lembrete neste link: Recuperar senha
Você receberá um link de reativação no email cadastrado.
Não recebeu o email? Lembre-se checar o Lixo Eletrônico.
XCLUIR LINHAS DE ACORDO COM UM CRITÉRIO
Re: XCLUIR LINHAS DE ACORDO COM UM CRITÉRIO
fao17,
O critério para deletar as linhas é linha com determinada célula em branco?
Veja se o exemplo abaixo atende seua necessidade :
Altere "Plan1" para o nome da aba com a qual você está trabalhando e os números 1 nesta linha ".Cells(linhaAtual, 1) = Empty Or .Cells(linhaAtual,1)="" " para o número da coluna que está validando.
Espero ter ajudado.
Abs
O critério para deletar as linhas é linha com determinada célula em branco?
Veja se o exemplo abaixo atende seua necessidade :
Código: Selecionar todos
Sub deletaLinhas()
With ThisWorkBook.Sheets("Plan1")
Dim linhaAtual As Long, linhaFinal As Long
linhaAtual = 2
linhaFinal = .Cells(Rows.Count, 1).End(xlUp).Row
While linhaAtual <= linhaFinal
If .Cells(linhaAtual, 1) = Empty Or .Cells(linhaAtual,1)="" Then
.Cells(linhaAtual, 1).EntireRow.Delete
Else
linhaAtual = linhaAtual +1
linhaFinal = Cells(Rows.Count, 1).End(xlUp).Row
End If
Wend
End With
End Sub
Espero ter ajudado.
Abs
Espero ter ajudado.
Abs.
Saulo Robles
Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].
Abs.
Saulo Robles
Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].