Dica: outros idiomas são traduzidos pelo Google. Você pode visitar o English versão deste link.
Entrar
x
or
x
x
Registre-se
x

or

Como excluir a planilha com base no valor da célula no Excel?

Supondo que eu tenho várias planilhas dentro de uma pasta de trabalho, agora eu quero excluir as folhas com base no valor da célula. Por exemplo, se a célula específica A1 contiver o texto "KTE", todas as folhas que a célula A1 possui esse texto são necessárias para serem excluídas de uma só vez. Este artigo pode ajudá-lo a lidar com esta tarefa no Excel.

Excluir planilha baseada no valor da célula com o código VBA

Guia do Office Habilitar Edição e Navegação por Guias no Office e Facilitar seu Trabalho ...
Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
  • Reutilizar qualquer coisa: Adicione as fórmulas, gráficos e outras coisas mais usadas ou complexas aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais do que recursos de texto 20: Extrair Número da Cadeia de Texto; Extrair ou remover parte dos textos; Converta números e moedas em palavras inglesas ...
  • Mesclar Ferramentas: Várias pastas de trabalho e folhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma ...
  • Ferramentas de divisão: Dados divididos em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos Excel, PDF ou CSV; Uma coluna para várias colunas ...
  • Colar pulando Linhas ocultas / filtradas; Contagem e Soma pela cor de fundo; Criar lista de discussão e Envie e-mails pelo valor da célula...
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer folha; tipo por semana, dia, frequência e mais; filtros por negrito, fórmulas, comentário ...
  • Mais de recursos poderosos do 300; Funciona com o Office 2007-2019 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.

arrow blue right bubble Excluir planilha baseada no valor da célula com o código VBA

Aqui, vou apresentar um código para você excluir todas as folhas que a célula específica tenha um determinado valor, faça o seguinte:

1. Mantenha pressionada a ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.

Código VBA: Exclua a planilha baseada no valor da célula:

Sub deletesheetbycell()
'Updateby Extendoffice 20161008
    Dim shName As String
    Dim xName As String
    Dim xWs As Worksheet
    Dim cnt As Integer
    shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _
                                    "", , , , , 2)
    Application.DisplayAlerts = False
    cnt = 0
    For Each xWs In ThisWorkbook.Sheets
        If xWs.Range("A1").Value = shName Then
            xWs.delete
            cnt = cnt + 1
        End If
    Next xWs
    Application.DisplayAlerts = True
    MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

notas: No código acima, A1 é a célula específica que contém certos textos que você deseja excluir as folhas com base em.

3. Então aperte F5 chave para executar este código e uma caixa de prompt é exibida para lembrá-lo de inserir o valor específico que deseja excluir as folhas com base em, veja a captura de tela:

doc apagar folha por célula 1

4. E, em seguida, clique em OK , todas as folhas que a célula A1 possui o texto KTE foram excluídas de uma só vez. Ver captura de tela:

doc apagar folha por célula 2


Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Inserir rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de endereços e enviar e-mails ...
  • Bar Super Fórmula (facilmente editar várias linhas de texto e fórmula); Layout de leitura (leia e edite facilmente grandes números de células); Colar para intervalo filtrado...
  • Mesclar células / linhas / colunas sem perder dados; Conteúdo de células divididas; Combinar linhas / colunas duplicadas... Prevenir Células Duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Exclusivo Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros de trabalho; Seleção aleatória ...
  • Cópia exata Múltiplas Células sem alterar a referência da fórmula; Criar automaticamente referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair texto, Adicionar texto, remover por posição, Remover espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salve e aplique esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro especial por negrito, itálico ...
  • Combinar pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Dividir dados em várias planilhas; Lote Converter xls, xlsx e PDF...
  • Mais de recursos poderosos do 300. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos Avaliação gratuita de um dia de 30.
kte tab 201905

A guia Office traz a interface com guias para o Office e torna seu trabalho muito mais fácil

  • Ativar edição e leitura com guias no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
fundo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ankur Shah · 3 months ago
    quick question, the above code works for me for deleting worksheets which contain the value which is entered, but what if i want to delete worksheets which do not contain value entered. I tried replacing the "=" operator with the <>" operator, but it does not work. Thanks!
    • To post as a guest, your comment is unpublished.
      skyyang · 2 months ago
      Ankur,
      As you said, you just need to change the "=" to " <>" as below code:

      Sub deletesheetbycell()
      Dim shName As String
      Dim xName As String
      Dim xWs As Worksheet
      Dim cnt As Integer
      shName = Application.InputBox("Input the text not delete the sheets based on:", "Kutools for Excel", _
      "", , , , , 2)
      Application.DisplayAlerts = False
      cnt = 0
      For Each xWs In ThisWorkbook.Sheets
      If xWs.Range("A1").Value <> shName Then
      xWs.Delete
      cnt = cnt + 1
      End If
      Next xWs
      Application.DisplayAlerts = True
      MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
      End Sub

      Please try, hope it can help you!