Um excel macro para eliminar todos, mas a planilha ativa

À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; gt; ThisWorkbook.ActiveSheet.Name Then`Step 4: Desligue os avisos e deleteApplication.DisplayAlerts = Falsews.DeleteApplication.DisplayAlerts = TrueEnd If`Step 5: Loop 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.

Video: Excel 2010 VBA Excluir todas as figuras da planilha ativa

Na Etapa 2, a macro começa a loop, dizendo Excel que irá avaliar todas as planilhas nesta pasta de trabalho. Há uma diferença entre ThisWorkbook e ActiveWorkbook. O objecto EsteLivro refere-se ao livro que contém o código. O objecto ActiveWorkbook refere-se à pasta de trabalho actualmente activa. 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.

No Passo 3, a macro simplesmente compara o nome da folha activa para a folha que está a ser enrolada.

Na Etapa 4, se os nomes das folhas são diferentes, a macro exclui a folha. Como mencionado, você utilizar DisplayAlerts para suprimir qualquer verificação de confirmação de 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 a declaração DisplayAlerts para ver mensagens de aviso.
Omitir a declaração DisplayAlerts para ver mensagens de aviso.

Video: Destacar Linha Selecionada Ativa no Excel com COR - Excel VBA - Sublinhar Linha Ativa no EXCEL

Como usar o macro

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

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

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

  3. Escolha Inserir → Módulo.

    Video: #28 - Curso de Macros e Excel VBA - Manipular várias planilhas

  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.


Publicações relacionadas