como excluir uma linha inteira no excel 2013 se uma das células na mesma linha for excluída?

1

Você pode sugerir algum método no qual, sempre que eu excluir dados em uma célula específica, todos os outros dados ao longo de sua linha serão excluídos automaticamente?

Eu já pesquisei fazendo isso e acabei usando o Visual Basics para o código do aplicativo delete blank rows 2, mas não sei como usá-lo. Alguém pode me ensinar como usar o código que mencionei?

    
por eromulo 19.01.2016 / 08:11

1 resposta

2

O Excel não possui um evento do VBA para uma exclusão de células.

Você pode usar um evento Worksheet_Change. Este evento será acionado sempre que uma célula na planilha for alterada. Se, após a alteração, a célula estiver em branco, é lógico se o usuário acabou de excluir uma célula ou pressionar Enter ao editar uma célula que já estava em branco, sem gravar nada na célula.

O evento de alteração pode ser configurado para monitorar apenas um intervalo específico, digamos, as colunas de A a F, e só excluirá a linha se uma célula dessas colunas estiver vazia após uma alteração.

Com isso como um pré-amble, aqui está um código que faz o que eu descrevo.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A:F")) Is Nothing Then
    If Len(Trim(Target.Value)) = 0 Then
        MsgBox "Cell was deleted - now deleting row" ' remove this line if you dont want the message
        Application.EnableEvents = False ' turn off event monitoring so the routine does not loop
        Selection.EntireRow.Delete
        Application.EnableEvents = True ' turn on event monitoring
    End If
End If

End Sub

Copie este código. Em seguida, clique com o botão direito do mouse na guia da planilha, selecione "View Code" no menu de contexto e cole o código na janela de código. Lembre-se de salvar o arquivo como um arquivo .xlsm habilitado para macro.

    
por 19.01.2016 / 09:55