Usando macros para guardar livros quando células se alteram
No Excel, você pode estar trabalhando em dados que é tão sensível que você vai querer salvar cada vez que uma célula ou intervalo de células é alterado. Esta macro permite que você defina um intervalo de células que, quando alterado, obriga a pasta de trabalho para salvar.
No exemplo mostrado, você quer a pasta de trabalho para salvar quando uma edição é feita para qualquer uma das células na C5 intervalo: C16.
Como as obras de macro
O segredo para este código é o método Intersect. Porque você não deseja salvar a planilha quando as alterações celulares velhos, você usa o método Intersect para determinar se a célula de destino (a célula que mudou) cruza com o intervalo especificado como o intervalo de disparo (C5: C16, neste caso) .
O método Intersect retorna uma de duas coisas: um objeto Range que define a intersecção entre as duas gamas indicadas ou nada. Então, em essência, você precisa jogar a célula-alvo contra o método Intersect para verificar um valor de nada. Nesse ponto, você pode decidir se deseja guardar o livro.
Private Sub Worksheet_Change (ByVal Target As Range) "Passo 1: A gama alterado cruzam Se Intersect (Target, Range (" C5: C16 "))? É nada Then'Step 2: Se não há intersecção, Sub saída procedureExit ' passo 3: Se houver um cruzamento, salvar o workbookElseActiveWorkbook.Save'Step 4: Feche a Se statementEnd IfEnd Sub
No Passo 1, basta verificar para ver se a célula alvo (a células que foram alteradas) está na gama especificada pelo método de interseção. Um valor de nada, a célula alvo estiver fora do intervalo especificado.
Passo 2 obriga a macro para parar e sair do procedimento, se não houver intersecção entre a célula alvo e do intervalo especificado.
Se houver um cruzamento, Passo 3 dispara o método Save do livro activo, substituindo a versão anterior.
Na etapa 4, você simplesmente fechar a instrução If. Cada vez que você iniciar uma verificação If-Then-Else, você deve fechá-la para fora com um End correspondente If.
Como usar o macro
Para implementar essa macro, você precisa copiar e colá-lo na janela de código de eventos do Worksheet_Change. Colocar a macro aqui permite que ele seja executado cada vez que fizer qualquer alteração à folha:
Ative 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 e veja todas as folhas.
Clique na folha a partir do qual você deseja acionar o código.
Na lista drop-down de eventos, selecione o evento Change.
Digite ou cole o código no módulo recém-criado, alterando o endereço gama para atender às suas necessidades.
Digite o seu código no evento planilha Alterar.