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.
Como usar o macro
Para implementar essa macro, você pode copiar e colá-lo em um módulo padrão:
Ative o Editor do Visual Basic pressionando Alt + F11.
direita; clique no nome do projeto / pasta de trabalho na janela do projeto.
Escolha Inserir-Module.
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.