Um excel macro para salvar uma pasta de trabalho antes de fechar
Video: Salvar Cópia de Planilha Excel e Escolher Pasta Destino com Código Excel VBA
Conteúdo
A macro aqui apresentada é uma excelente maneira de proteger os usuários contra inadvertidamente fechar seus arquivos antes de salvar. Quando implementado, este macro garante que Excel salva automaticamente a pasta de trabalho antes de fechá-lo.
Excel normalmente avisar os usuários que estão tentando fechar uma pasta de trabalho não salvo, dando-lhes uma opção para salvar antes de fechar. No entanto, muitos usuários podem explodir passado o aviso e, inadvertidamente, clique Não, dizendo Excel para fechar sem salvar. Com esta macro, você está protegendo contra esta salvando automaticamente antes de fechar.
Como as obras de macro
O código é acionado pelo evento BeforeClose do livro. Ao tentar fechar o livro, este evento é acionado, a execução do código dentro. O ponto crucial do código é simples - ele pergunta aos usuários se eles querem fechar o livro. A macro, em seguida, avalia se o usuário clicar em OK ou Cancelar.
A avaliação é feita com uma declaração Select Case. A declaração Select Case é uma alternativa para a declaração If-Then-Else, o que lhe permite executar verificações de condição em suas macros. A construção básica de uma declaração Select Case é simples:
Selecionar casoCaso é = Caso é = Caso é = End Select
Com uma declaração Select Case, você pode realizar muitas verificações condicionais. Neste caso, você está simplesmente a verificação de OK ou Cancelar. Dê uma olhada no código:
Private Sub Workbook_BeforeClose (Cancel As Boolean) "Passo 1: Ative a caixa de mensagem e iniciar o checkSelect Caso MsgBox ("Salvar e fechar?", VbOKCancel) `Passo 2: botão pressionado Cancelar para que cancelar o closeCase Is = vbCancelCancel = True`Step 3: botão OK pressionado, para salvar a pasta de trabalho e closeCase Is = vbOKActiveWorkbook.Save`Step 4: Feche a Select Case statementEnd SelectEnd Sub
Na Etapa 1, você ativar a caixa de mensagem como a verificação de condição para a instrução Select Case. Você usa argumento vbOKCancel para garantir que o OK e Cancelar botões são apresentados como opções.
Na Etapa 2, se o usuário clicou em Cancelar na caixa de mensagem, a macro informa ao Excel para cancelar o evento Workbook_Close passando Fiel ao Anular booleana.
Se o usuário clicou no botão OK na caixa de mensagem, Passo 3 tem efeito. Aqui, você dizer Excel para guardar o livro. E porque você não definiu o Anular booleano True, Excel continua com o próximo.
Na Etapa 4, você simplesmente fechar a instrução Select Case. Toda vez que você instanciar um Select Case, você deve fechá-lo com um correspondente End Select.
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 não permite que ele seja executado cada vez que você tentar fechar a pasta de trabalho:
Video: Salvar Planilha Excel VBA Automaticamente em Horario Definido
Ativar o Editor do Visual Basic pressionando Alt + F11.
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.
Clique ThisWorkbook.
Na lista drop-down do evento, selecione o evento BeforeClose.
Digite ou cole o código no módulo recém-criado.
Video: Salvar e imprimir uma pasta de trabalho do Excel
Digite o seu código no evento de pasta de trabalho BeforeClose.