Bloqueio de exclusão e inclusão de linhas no Excel

Bloqueio de exclusão e inclusão de linhas no Excel

Para criar uma macro que bloqueie tanto a exclusão quanto a inclusão de linhas em uma planilha do Excel, você pode usar o evento Worksheet_Change e monitorar alterações na contagem de linhas da planilha. Aqui está um exemplo de como fazer isso:

  1. Abra o Editor do VBA pressionando ALT + F11.
  2. No Project Explorer, selecione a planilha onde deseja aplicar essa restrição.
  3. Dê um duplo clique na planilha para abrir a janela de código dessa planilha.
  4. Cole o seguinte código:

Dim RowCount As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

RowCount = Me.UsedRange.Rows.Count

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ErrorHandler

Application.EnableEvents = False

Dim currentRowCount As Long

currentRowCount = Me.UsedRange.Rows.Count

If currentRowCount <> RowCount Then

Application.Undo

MsgBox "A inclusão ou exclusão de linhas não é permitida nesta planilha.", vbExclamation

End If

ErrorHandler:

Application.EnableEvents = True

End Sub

Explicação do Código

  • RowCount: Uma variável que armazena o número de linhas usadas na planilha antes de uma alteração.
  • Worksheet_SelectionChange: Este evento é acionado sempre que a seleção muda na planilha. Ele atualiza RowCount com a contagem atual de linhas usadas.
  • Worksheet_Change: Este evento é acionado sempre que há uma alteração na planilha. Ele compara a contagem atual de linhas (currentRowCount) com a contagem anterior (RowCount).Se a contagem de linhas mudou, a ação (inclusão ou exclusão de linhas) é desfeita com Application.Undo.Uma mensagem de aviso é exibida para informar ao usuário que a inclusão ou exclusão de linhas não é permitida.
  • ErrorHandler: Garante que os eventos sejam reativados, mesmo que ocorra um erro.

Salvar o Arquivo

Certifique-se de salvar seu arquivo como um "Macro-Enabled Workbook" (.xlsm) para garantir que as macros sejam preservadas.

Testar o Código

Teste o código inserindo ou excluindo linhas na planilha para garantir que a funcionalidade esteja funcionando conforme esperado. O código deve impedir a inclusão e exclusão de linhas e exibir uma mensagem de aviso apropriada.

Entre para ver ou adicionar um comentário

Conferir tópicos