Skip to content
Natuurondernemer
    Maio 6, 2020 by admin

    Como Apagar Linha Inteira no Excel Usando VBA (Exemplos)

    Como Apagar Linha Inteira no Excel Usando VBA (Exemplos)
    Maio 6, 2020 by admin

    Adicionar e apagar linhas faz parte das tarefas quotidianas comuns quando se trabalha com o Excel.

    Embora se possa fazer isto facilmente a partir da própria folha de trabalho, por vezes pode querer usar a rota VBA para apagar linhas no Excel. Estas podem ser apagar uma linha específica, múltiplas linhas na selecção, apagar linhas alternativas ou aquelas que têm um valor específico no mesmo.

    Neste tutorial, mostrar-lhe-ei como apagar linhas no Excel usando VBA (cenários múltiplos).

    Então vamos começar!

    Esta Tutorial Cobre:

    Apagar uma linha inteira usando VBA

    Para apagar uma linha inteira no Excel usando VBA, é necessário usar o EntireRow.Delete method.

    Por exemplo, se quiser apagar a primeira linha inteira de uma folha de trabalho, pode usar o código abaixo:

    Sub DeleteEntireRow()Rows(1).EntireRow.DeleteEnd Sub

    O código acima especifica primeiro a linha que precisa de ser apagada (o que é feito especificando o número entre parênteses) e depois usa o EntireRow.Método de eliminação para eliminar.

    É possível também eliminar várias linhas especificando estas linhas no código.

    Por exemplo, o código abaixo irá eliminar as linhas número 1, 5 e 9 na folha de trabalho:

    Sub DeleteEntireRow()Rows(9).EntireRow.DeleteRows(5).EntireRow.DeleteRows(1).EntireRow.DeleteEnd Sub

    O código acima usa a mesma lógica, onde especifica os números das linhas e o Excel irá eliminar estas linhas uma a uma.

    IMPORTANTE: Quando estiver a apagar linhas com algo semelhante ao código acima, lembre-se de começar a apagar a partir de baixo e depois subir. Por exemplo, no caso de começar no topo e apagar primeiro a linha 1, todas as linhas abaixo seriam deslocadas uma linha para cima e a numeração seria apagada (como a linha 5 tornar-se-ia a linha 4 e assim por diante)

    Apagar todas as linhas na Selecção

    No caso de querer apagar todas as linhas num intervalo seleccionado de células, pode usar o código macro VBA abaixo:

    Sub DeleteEntireRow()Selection.EntireRow.DeleteEnd Sub

    O código acima aplica-se a EntireRow.Delete method to the entire selection.

    Delete Alternate lines (or Delete Every Third/Fourth/Nth Row)

    Sometime, pode obter uma descarga de dados onde cada segunda fila (ou terceira, quarta ou enésima fila) é inútil e precisa de ser apagada.

    P>Diava trabalhar com dados financeiros onde cada segunda linha estava vazia e tinha de ser apagada.

    Este é o tipo de cenário onde o VBA realmente brilha.

    Below é o código VBA que irá percorrer todas as linhas da selecção e apagar cada segunda linha:

    Sub DeleteAlternateRows()RCount = Selection.Rows.CountFor i = RCount To 1 Step -2 Selection.Rows(i).EntireRow.DeleteNext iEnd Sub

    Deixe-me explicar como funciona este código VBA.

    P>Primeiro, utilizei uma RCount variável para obter o número total de filas na selecção.

    Então, utilizei um For Next loop para executar isto tantas vezes quantas as filas lá existentes. Por exemplo, se houver 12 linhas, este laço irá correr de 12 a 1 (ou seja, 12 vezes). É importante executar isto da última linha na selecção para a primeira, pois não queremos que os números das linhas mudem quando uma linha é apagada.

    Também, o Passo -2 é usado, uma vez que precisamos de apagar todas as outras linhas (de baixo para cima). No caso de querer apagar cada terceira linha, pode usar -3.

    Com o laço VBA, usei o método Selection.Rows(i).EntireRow.Delete para apagar cada linha alternativa.

    Delete Blank Rows with VBA

    P>Tambem pode usar o método EntireRow.Delete method to delete all blank lines.

    Below é o código VBA que irá seleccionar células em branco no conjunto de dados seleccionado e apagar a linha inteira.

    Sub DeleteBlankRows()Selection.SpecialCells(xlCellTypeBlanks).EntireRow.DeleteEnd Sub

    O código acima usa a propriedade SpecialCells para seleccionar e apagar todas as células que estão em branco. Este é o mesmo método que também nos permite usar a caixa de diálogo ‘Go To Special’ para seleccionar todas as células em branco.

    Após estas células em branco serem identificadas usando SpecialCell, estas são depois apagadas usando o método EntireRow.Delete.

    Note: Este método selecciona as células que estão em branco e não verifica se a linha inteira está em branco ou não. Assim, se qualquer célula estiver vazia numa linha, isto ainda eliminaria a linha inteira.

    Eliminar linhas com uma Palavra/Valor Específico

    Também se pode usar um código VBA simples para percorrer cada célula no intervalo seleccionado e eliminar todas as linhas em que uma célula contém um texto ou valor específico.

    Por exemplo, suponha que tem um conjunto de dados e eu quero apagar todas as células que têm o texto Impressora na coluna 2 da selecção.

    Conjunto de dados a partir do qual apagar linha inteira com valor específico

    Below é o código que fará isto:

    Sub DeleteRowswithSpecificValue()For i = Selection.Rows.Count To 1 Step -1If Cells(i, 2).Value = "Printer" ThenCells(i, 2).EntireRow.DeleteEnd IfNext iEnd Sub

    O código acima conta primeiro o número total de linhas na selecção. Isto assegurará que o laço é executado apenas estas muitas vezes. Depois utiliza o ‘For Next loop’ para percorrer todas as células da Coluna 2.

    A declaração IF THEN ELSE é então utilizada para verificar o valor em cada célula da coluna 2. E no caso do valor/texto corresponder ao texto especificado (que é ‘Impressora’ neste exemplo).

    Neste exemplo, verifiquei se o texto corresponde ou não a uma string específica. Também o pode fazer com valores. Por exemplo, pode apagar todas as linhas onde o valor de venda é inferior a 1000 ou superior a 1000.

    Nota: Uma coisa importante a notar aqui é que o laço corre de Selection.Rows.Count To 1 para garantir que quando uma linha é apagada, não tem impacto nas linhas acima dela.

    Como utilizar este código VBA

    Agora deixe-me mostrar-lhe como utilizar todos os códigos mencionados neste tutorial para apagar a linha inteira.

    P>Precisa de copiar e colar estes códigos num módulo do Editor Excel VB. Uma vez copiados estes códigos, pode então executar os códigos macro.

    Below são os passos para copiar e colar estes códigos VBA num módulo:

    1. Pega na tecla ALT e carrega na tecla F11 (ou Função + Opção + F11 em Mac). Isto abrirá o Editor VB
    2. No Editor VB, terá o explorador do projecto à esquerda. Se não o vir, vá à opção Ver e depois clique em Project Explorer.Click on Project Explorer
    3. li>Clique com o botão direito do rato em qualquer objecto no Project Explorer (para a pasta de trabalho em que deseja executar o código).Insert Module
    4. Vá a Inserir e depois clique em Module. Isto irá inserir um novo Módulo para a pasta de trabalhoCopiar e colar para apagar toda a linha no módulo
    5. Copiar e colar os códigos acima no módulo.

    E para executar estes códigos, pode colocar o cursor em qualquer parte do código (que deseja executar) e carregar na tecla F5 (ou clicar no triângulo verde na barra de ferramentas VBA).

    Eu também escrevi um tutorial detalhado sobre diferentes formas de executar códigos de macro VBA no Excel.

    No caso de precisar de usar qualquer um destes códigos com bastante frequência, pode também considerar adicioná-los à Pasta de Trabalho Macro Pessoal e depois ao QAT. Desta forma, o código estará disponível em qualquer uma das suas pastas de trabalho com um único clique.

    Então, estes foram alguns códigos VBA que pode utilizar para apagar linhas inteiras no Excel (em diferentes cenários). A mesma lógica também pode ser aplicada caso pretenda apagar colunas em vez de linhas (com o ajustamento correspondente nos exemplos de código).

    Espera que este tutorial seja útil!

    p>Pode também gostar dos seguintes tutoriais do Excel:

    • Excel VBA Autofilter: Um guia completo com exemplos
    • Delete Rows Based on a Cell Value (or Condition) in Excel
    • Insira uma linha em branco após cada linha no Excel (ou cada Nth Row)
    • Como Desfazer Rapidamente COLUMNS no Excel

    Previous articleTop 10 Heat Pump Brands of 2020 - Qual é a Melhor Marca de Bomba de Calor?Next article Missão: Estrela impossível Peter Graves morre

    Deixe uma resposta Cancelar resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *

    Artigos recentes

    • Como montar um mineiro Bitcoin ASIC
    • Chris Martin tem aniversário na Disneylândia com Dakota Johnson
    • O que é um Site de Superfundo?
    • Echolalia: Os factos para além da “conversa de papagaio”, escrita, e eco
    • Lord of the Flies Quotes
    • Um Guia para Principiantes de Pegging
    • 42 Receitas de Sopa de Crockpot Saudável
    • 3 riscos surpreendentes de má postura
    • Tina Fey Biografia
    • O que são Correntes Oceânicas?

    Arquivo

    • Abril 2021
    • Março 2021
    • Fevereiro 2021
    • Janeiro 2021
    • Dezembro 2020
    • Novembro 2020
    • Outubro 2020
    • Setembro 2020
    • Agosto 2020
    • Julho 2020
    • Junho 2020
    • Maio 2020
    • Abril 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Iniciar sessão
    • Feed de entradas
    • Feed de comentários
    • WordPress.org
    Posterity WordPress Theme