Notifications
Clear all

Deletar Linha Se Vazio

12 Posts
2 Usuários
0 Reactions
1,302 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal,
Pesquisei no forum, e achei funções parecidas, mas não consegui implementar no meu caso.

Dentro do Intervalo A2:J1003, caso as Colunas B e C estejam Vazias, preciso deletar a LInha inteira.
O problema é que a Coluna A é Protegida e quero deletar também.
Assim que clicar no Botão Voltar, quero que delete a linha que contem colunas B e C Vazias.

Grato,
Pedro

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

 
Postado : 01/04/2014 1:08 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Ao clicar no botão voltar? Que botão é esse?

Aliás, a coluna A contém o que? Fórmulas?

Se vc definiu um intervalo com fórmulas que começa na linha 2 e conta 1000 linhas, porque excluir depois? Seria melhor classificar o que não tem nada nas colunas B e C, sem ter que excluir.

Minha opinião. Porém, se vc quiser mesmo a apagar,

Sub Apagar_B_C_GT()
Application.ScreenUpdating = False
Dim i As Integer
ActiveSheet.Unprotect
For i = 2 To 1003
    If IsEmpty(Cells(i, "B")) And IsEmpty(Cells(i, "C")) Then Cells(i, "A").EntireRow.Delete
Next i
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 01/04/2014 2:30 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigo,
Funcionou.
Mas parece que o processo ocorre em todas as planilhas, algumas com fórmulas.
Por que?

Preciso apenas nas Planilhas Locatario e Patrimonio.

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

 
Postado : 01/04/2014 4:06 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

pedro, a rotina só age na aba que está sendo executada conforme a instrução : ActiveSheet - Aba (planilha)ativa, se ocorreu em outras é porque você executou a rotina nestas abas.

Preciso apenas nas Planilhas Locatario e Patrimonio.
Para evitar de ter rotinas iguais onde só irá alterar o nome das abas, e´só adicionar um Botão nas abas que pretende e associar os mesmos a macro enviada pelo gtsalikis, assim ela irá ter effeito somente na aba em que o botão estiver.

[]s

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

 
Postado : 01/04/2014 8:16 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro,
Não sei explicar, mas estava afetando a planilha Menu, em célula com função Indice e corresp.

Por causa do tamanho, não dá pra colocar no post.
Posso enviar para mauro@planilhando.com.br pra você dar uma olhada?

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

 
Postado : 01/04/2014 9:20 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Pedro, vc não explicou onde estava aquele botão, mas, faça dessa forma:

Sub Apagar_B_C_GT()
Application.ScreenUpdating = False
Dim i As Integer
Dim ws As Worksheet
Set ws = ActiveSheet
Sheets("Locatario").Select
ActiveSheet.Unprotect
For i = 2 To 1003
    If IsEmpty(Cells(i, "B")) And IsEmpty(Cells(i, "C")) Then Cells(i, "A").EntireRow.Delete
Next i
ActiveSheet.Protect
Sheets("Patrimonio").Select
ActiveSheet.Unprotect
For i = 2 To 1003
    If IsEmpty(Cells(i, "B")) And IsEmpty(Cells(i, "C")) Then Cells(i, "A").EntireRow.Delete
Next i
ActiveSheet.Protect
ws.Select
Application.ScreenUpdating = True
End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 02/04/2014 5:19 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Gilmar,
O Botão Incluir está nas 2 planilhas, Patrimonio e Locatario, e uso para Incluir automaticamente a coluna A (Código), em sequencia numérica.
Veja em: http://www.4shared.com/office/P4n9ODiuc ... NVIAR.html?

Clique em Locatarios, depois Incluir (vai gerar novo codigo, mas ao sair (clicar em voltar) é para apagar a ultima linha de B estiver vazio).

Grato,
Pedro

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

 
Postado : 02/04/2014 5:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Perdão,
A planilha do link anterior estava protegida.

Segue a nova:
www.4shared.com/office/qT1hsXQoba/Contrato.html?

O que quero?
Nas Planilhas Locatarios e Patrimonio. Ao clicar em Incluir, gera novo Código na Coluna A. Se o usuário Não preencher o
Nome (Coluna B), quero Deletar a Linha toda, que pode ocorrer ao sair da Planilha através do Botão Volta.

Grato,
Pedro

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

 
Postado : 02/04/2014 7:57 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pedro, não tenho como ver seu modelo, aqui no serviço não conseguimos baixar alguns anexos nem receber emails.

No inicio você disse que a rotina do colega gtsalikis funcionou, mas fiquei em duvida qdo diz:
Não sei explicar, mas estava afetando a planilha Menu, em célula com função Indice e corresp.

Se em alguma aba tem formulas referenciando diretamente ranges da aba em que está deletando linhas, irá ter erros mesmo, a não ser que esteja utilizando formulas com ranges dinamicos.
Se não conseguir, procure diminuir o tamanho do arquivo deixando somente as partes que interessam ou diminuindo a qde de registros e anexe aqui no forum.

[]s

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

 
Postado : 02/04/2014 8:41 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mandei para seu e-mail, mas retornou.

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

 
Postado : 02/04/2014 10:06 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mandei para seu e-mail, mas retornou.

Como eu citei acima, aqui no serviço não temos acesso a WebMail, a noite dou uma olhada.

[]s

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

 
Postado : 02/04/2014 10:10 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Acredito que resolvi o problema.

Em vez de (.Delete) eu coloquei (.ClearContents).

Grato a todos.
pedro

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

 
Postado : 02/04/2014 3:02 pm