Uma macro do Excel para Apagar Tudo, mas o ativo planilha

Às vezes, você pode querer excluir todos, mas a planilha ativa em uma planilha do Excel. Nessas situações, você pode usar a seguinte macro.

Como as obras de macro

A macro aqui percorre as planilhas, combinando o nome de cada planilha para o nome da folha activa. Cada vez que os laços macro, ele exclui qualquer planilha incomparável. Observe o uso da propriedade DisplayAlerts no Passo 4. Isso efetivamente desativa os avisos de Excel para que você não tem que confirmar cada exclusão.

Sub Macro1 () 'Passo 1: Declare seus ws variablesDim Como Worksheet'Step 2: Iniciar loop através de todos worksheetsFor Cada ws Em ThisWorkbook.Worksheets'Step 3: Verifique cada planilha nameif ws.Name lt;> ThisWorkbook.ActiveSheet.Name Then'Step 4: Desligue os avisos e deleteApplication.DisplayAlerts = Falsews.DeleteApplication.DisplayAlerts = TrueEnd If'Step 5: Circuito para próxima worksheetNext wsEnd Sub

A macro primeiro declara um objeto chamado ws. Esta etapa cria um recipiente de memória para cada planilha ele percorre.

Na Etapa 2, a macro começa a loop, dizendo Excel que irá avaliar todas as planilhas neste livro. Há uma diferença entre ThisWorkbook e ActiveWorkbook. O objeto ThisWorkbook refere-se ao livro que contém o código. O objeto ActiveWorkbook refere-se à pasta de trabalho ativa no momento. Eles muitas vezes retornar o mesmo objeto, mas se o livro de executar o código não é a pasta de trabalho ativa, eles retornam objetos diferentes. Neste caso, você não quer correr o risco de exclusão de folhas em outras pastas de trabalho, para que você use ThisWorkbook.

Na Etapa 3, a macro simplesmente compara o nome da folha activa para a folha que está actualmente a ser enrolado.

Na etapa 4, se os nomes das folhas são diferentes, a macro exclui a folha. Como mencionado, você utilizar DisplayAlerts para suprimir todos os controlos de confirmação do Excel. Se você quiser ser avisado antes de eliminar as folhas, você pode omitir Aplicação. DisplayAlerts = False. Omitindo a declaração DisplayAlerts vai garantir que você obtenha a mensagem mostrada, o que lhe permite voltar atrás da decisão de excluir planilhas.

Na etapa 5, os laços macro de volta para obter a próxima folha. Depois de todas as folhas são avaliadas, a macro termina.

Omitir o Display & # declaração de 173 Alertas para ver mensagens de aviso.
Omitir a exibição # 173 Alertas de declaração para ver mensagens de aviso.

Como usar o macro

Para implementar essa macro, você pode copiar e colá-lo em um módulo padrão:

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

  2. direita; clique no nome do projeto / pasta de trabalho na janela do projeto.

  3. Escolha Inserir-Module.

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

Quando você usa ThisWorkbook vez de ActiveWorkbook em uma macro, você não pode executar a macro a partir da pasta de trabalho macro pessoal. Por quê? Porque ThisWorkbook remete para a pasta de trabalho macro pessoal, e não para a pasta de trabalho ao qual a macro deve ser aplicada.

menu