Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Registe-se  \/ 
x

or

Como excluir colunas inteiras com base no valor do cabeçalho no Excel?

Em muitos casos, pode ser necessário excluir todas as colunas com base no valor do cabeçalho no Excel. Por exemplo, você precisa excluir todas as colunas que contenham o valor “antigo” no cabeçalho. Neste tutorial, mostraremos métodos de exclusão de colunas inteiras com base no valor do cabeçalho em detalhes.

Exclua colunas inteiras com base no valor do cabeçalho com código VBA
Exclua colunas inteiras com base no valor do cabeçalho com o Kutools para Excel


Exclua colunas inteiras com base no valor do cabeçalho com código VBA

Você pode excluir colunas inteiras com base no valor do cabeçalho com o código VBA. Faça o seguinte.

1. Pressione outro + F11 simultaneamente para abrir o Aplicativo Microsoft Visual Basic janela.

2. No Aplicativo Microsoft Visual Basic janela, clique em inserção > Módulo. Em seguida, copie e cole o código abaixo na janela do módulo.

Código VBA: exclua colunas inteiras com base no valor do cabeçalho

Sub DeleteSpecifcColumn()
	Set MR = Range("A1:D1")
	For Each cell In MR
		If cell.Value = "old" Then cell.EntireColumn.Delete
	Next
End Sub

Importante: no código, “velho”É o valor do cabeçalho no qual você deseja excluir a coluna inteira. Altere o valor do seu cabeçalho manualmente. E A1: D1 é o intervalo de colunas que você deseja usar.

3. aperte o F5 chave para executar o código, a coluna inteira que contém o valor do cabeçalho especificado é excluída imediatamente.


Exclua colunas inteiras com base no valor do cabeçalho com o Kutools para Excel

Com Kutools for Excel'S Selecione células específicas utilitário, você pode selecionar facilmente todas as colunas que contêm um determinado valor de cabeçalho primeiro e, em seguida, excluir essas colunas selecionadas de uma vez. Faça o seguinte.

Antes de aplicar Kutools for Excel, Por favor baixe e instale primeiro.

1. Selecione o intervalo que contém as colunas que você precisa excluir e clique em Kutools > Selecionar > Selecione células específicas. Veja a imagem:

2. No Selecione células específicas caixa de diálogo, selecione o Coluna inteira opção no Tipo de seleção seção, e na Tipo específico lista suspensa, selecione É igual a opção e, em seguida, digite o valor do cabeçalho na caixa a seguir. E finalmente clique no OK botão. Veja a imagem:

3. Clique na OK em outra caixa de diálogo pop-up, as colunas que contêm o valor do cabeçalho especificado são selecionadas imediatamente.

4. Clique com o botão direito no cabeçalho da coluna selecionada e clique em Excluir no menu do botão direito. Em seguida, todas as colunas selecionadas são excluídas de uma vez.

  Se você quiser ter um teste gratuito (30 dias) deste utilitário, por favor clique para fazer o downloade, em seguida, aplique a operação de acordo com as etapas acima.


As melhores ferramentas de produtividade para escritório

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

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de 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 (salvar e aplicar 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 ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em 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!
officetab bottom
Say something here...
symbols left.
You are guest
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.
    Jonathan · 6 months ago
    The VBA example states that the code will delete all columns whose headers CONTAIN "old." That is not the case. The = operator will only delete exact matches. You need to use the LIKE operator with a wildcard.

    Fixed code:
    Sub DeleteSpecifcColumn()
      Set MR = Range("A1:D1")
      For Each cell In MR
        If cell.Value LIKE "old*" Then cell.EntireColumn.Delete
      Next
    End Sub

  • To post as a guest, your comment is unpublished.
    Mark · 1 years ago
    Hi, is it possible to do this with multiple column names?
    • To post as a guest, your comment is unpublished.
      Rahul · 6 months ago
      What if the headers are starting from 4th row
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Mark,
      Try the below code. In the eighth line, please enclose each column name with double quotes and separate them by comma. Hope I can help. Thank you.

      Sub DeleteSpecifcColumn()
      Dim xFNum, xFFNum, xCount As Integer
      Dim xStr As String
      Dim xArrName As Variant
      Dim MR, xRg As Range
      On Error Resume Next
      Set MR = Range("A1:N1")
      xArrName = Array("old", "new", "get") 'enclose each column name with double quotes and separate them by comma
      xCount = MR.Count
      xStr = xArrName(xFNum)
      For xFFNum = xCount To 1 Step -1
      Set xRg = Cells(1, xFFNum)
      For xFNum = 0 To UBound(xArrName)
      xStr = xArrName(xFNum)
      If xRg.Value = xStr Then xRg.EntireColumn.Delete
      Next xFNum
      Next
      End Sub
  • To post as a guest, your comment is unpublished.
    Elias · 3 years ago
    Hey! This works well until you have two contiguous columns with the same header. Say your range is A1:A5, and A2 and A3 have the header 'old'. It will delete A2, but then the A3 will move to the place A2 used to occupy, and the code will skip it, as it will be looking at the new A3, the next cell on its range.
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Hi Elias,
      As you mentioned, A2 and A3 have he same header "old". But they are in the same column, after applying the code, the whole column A will be removed immediately.
      I am not sure I get your point. Would be nice if you could provide screenshot of what you are trying to do.
  • To post as a guest, your comment is unpublished.
    Leonard Staggs · 4 years ago
    Sorry if this seems super basic but this is my first time trying vba. Using this how would I apply it to delete multiple column headers. I am actually trying to only keep certain header columns and delete the rest of a changing list.
    • To post as a guest, your comment is unpublished.
      Ata · 3 months ago
      In the first code just copy the 4th row and change the "old" into the second column name and it will work