Um excel macro para evitar pastas de trabalho de fechar

Há momentos em que você não quer um usuário fechando um livro do Excel sem digitar uma parte específica de dados. Nestas situações, seria útil para negar o utilizador a possibilidade de fechar o livro até que a célula alvo é preenchido (como mostrado aqui). Este é o lugar onde esta macro bacana entra.

Impedir o fechamento até uma célula específica é preenchida.
Impedir o fechamento até uma célula específica é preenchida.

Como as obras de macro

Este código é acionado pelo evento BeforeClose do livro. Ao tentar fechar o livro, este evento é acionado, a execução do código dentro. Esta macro verifica para ver se a célula alvo (células C7, neste caso) é vazio. Se estiver vazio, o processo de perto é cancelada. Se C7 não está vazia, o livro é guardado e fechado:

Private Sub Workbook_BeforeClose (Cancel As Boolean) "Passo 1: Verifique se a célula C7 é Sheets blankIf ("Sheet1").Alcance("C7") = .Value " Then`Step 2: Se a célula estiver em branco, cancelar o fechamento e dizer userCancel = TrueMsgBox "C7 celular não pode estar em branco"`Etapa 3: Se a célula não estiver em branco, guardar e closeElseActiveWorkbook.Close SaveChanges: = TrueEnd IfEnd Sub

Passo 1 verifica para ver se o C7 é em branco.

Se C7 é em branco, Passo 2 tem efeito, cancelando o processo de fechamento por passagem verdadeiro para o Cancelar booleano. Passo 2 também ativa uma caixa de mensagem notificando o usuário de sua estupidez (bem, não é assim tão duro, realmente).

No Passo 3, se a célula C7 não está em branco, o livro é guardado e fechado.

Como usar o macro



Para implementar essa macro, você precisa copiar e colá-lo na janela de código de evento do Workbook_BeforeClose. Colocar a macro aqui permite que ele seja executado cada vez que você tentar fechar a pasta de trabalho:

  1. Ativar o Editor do Visual Basic pressionando Alt + F11.

  2. Na janela do projecto, encontrar o seu nome do projeto / pasta de trabalho e clique no sinal de mais ao lado dele para ver todas as folhas.

    Video: Curso VBA Completo: Macro Para Selecionar ou abrir um arquivo

  3. Clique ThisWorkbook.

  4. Na lista drop-down do evento, selecione o evento BeforeClose.

  5. Digite ou cole o código no módulo recém-criado.

    Video: Ciência e Tecnologia - Aula 6 - Excel VBA - Salvar e Fechar uma Pasta de Trabalho

    Digite o seu código no evento de pasta de trabalho BeforeClose.
    Digite o seu código no evento de pasta de trabalho BeforeClose.

Publicações relacionadas