Notifications
Clear all

[Resolvido] Exclusão de linha com condição.

5 Posts
3 Usuários
2 Reactions
1,202 Visualizações
(@dunguinha)
Posts: 61
Trusted Member
Topic starter
 

Bom dia.

Preciso excluir a linha se a célula ativa estiver na coluna A.

Exemplo:

Quero excluir a linha 8, mas só exclui se a célula ativa for a "A8", se a célula ativa for "B8 ou outra qualquer", não excluir.

Assim sucessivamente.

Este tópico foi modificado 4 anos atrás by Dunguinha
 
Postado : 22/01/2021 11:48 am
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

@dunguinha não compreendi direito a sua colocação, mas vamos la.

 

Primeiramente, excluir so se A8 for a celula ativa, isso vai depender de como está trabalhando com sua planila, não sei se a rotina é uma parte ou está tentando adaptar de alguma outra. Como está utilizando MsgBox para confirmação, e o botão que chama a rotina se encontra na Plan1, não necessitamos de usar as instruções Select e Activate a não ser que for utilizar de outra planilha, e se a condição é so se A8 estiver ativa, então selecionamos a mesma antes, tambem reparei que temos "Application.ScreenUpdating = False" sem ter a vondição verdadeira antes, então não há necessidade dessa linha, fiz uns ajustes da forma que eu entendi, de uma olhada se seria isso, se não for, por favor detalhe melhor, assim podemos ser mais precisos nas respostas.

Sub Exluir_Linha()

Dim texto
Dim título
Dim CxDialog

texto = "Confirma exclusão para: "
texto = texto & vbLf & "Linha " & ActiveCell & ", Nota Fiscal " & ActiveCell.Offset(0, 2)
título = " Confirmação"

CxDialog = MsgBox(texto, vbYesNo + vbInformation, título)

If CxDialog = vbYes Then

Range("A8").Select

x = ActiveCell.Row

Rows(x).Delete Shift:=xlUp

Range("C10000").End(xlUp).Offset(1, 0).Select

Exit Sub
End If

End Sub

[]s Mauro Coutinho

 
Postado : 22/01/2021 2:24 pm
Dunguinha reacted
(@anderson)
Posts: 203
Reputable Member
 

@dunguinha

 

 

Sub apagarlinha()

If ActiveCell.Column = 1 Then

Plan1.Range("A" & ActiveCell.Row).EntireRow.Delete

End If

End Sub


Sub deslocarlinha()


If ActiveCell.Column = 1 Then

Plan1.Range("B" & ActiveCell.Row).Select
Plan1.Range(Selection, Selection.End(xlToRight)).Select
Selection.Delete Shift:=xlUp
End If



End Sub

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 22/01/2021 2:31 pm
Dunguinha reacted
(@dunguinha)
Posts: 61
Trusted Member
Topic starter
 

Mauro a Idea é apagar qualquer linha desde que célula ativa esteja selecionada na coluna "A".

Eu vou adaptar esse código numa planilha mais complexa.

O código do nosso amigo Anderson acertou em cheio minha necessidade.

Agradeço o empenho e a atenção dos dois em me ajudar.

 

Abraços, 

 
Postado : 22/01/2021 2:47 pm
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

@dunguinha foi o que eu disse de não ter compreendido, ainda bem que o colega Anderson foi mais avido, porque me atentei pelo o que escreveu :

Quero excluir a linha 8, mas só exclui se a célula ativa for a "A8", se a célula ativa for "B8 ou outra qualquer", não excluir

Assim sucessivamente.

 

Especificamente diz "Excluir a linha 8 só se A8 for a ativa e sucessivamente ela será sempre a 8.

Mas bom que resolveu.

[]s

Mauro Coutinho

 

 
Postado : 22/01/2021 3:28 pm