KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como numerar automaticamente as linhas caso a célula adjacente não esteja em branco no Excel?

AutorXiaoyang Data de Modificação
numera automaticamente linhas se a célula adjacente não estiver em branco

No Excel, utilizar a alça de preenchimento para criar manualmente uma série numérica é uma forma comum de gerar números de série ou índices para listas. Contudo, surgem frequentemente situações em que pretende numerar apenas as linhas cujas células adjacentes contenham dados. Por exemplo, poderá desejar gerar automaticamente o número de linha numa lista, mas omitir a numeração nas linhas em que as células de dados adjacentes estejam vazias. Além disso, poderá esperar que esses números se atualizem instantaneamente à medida que os dados são introduzidos ou removidos — garantindo sempre uma sequência atualizada, sem qualquer intervenção manual.

Numerar linhas automaticamente com fórmula se a célula adjacente não estiver em branco

Numerar linhas automaticamente com código VBA se a célula adjacente não estiver em branco


seta azul com balão à direitaNumerar linhas automaticamente com fórmula se a célula adjacente não estiver em branco

Uma forma eficaz de obter uma numeração dinâmica de linhas com base nos valores das células adjacentes é utilizar uma fórmula do Excel. Com esta abordagem, a numeração só aparece quando a célula adjacente contém um valor. Ao adicionar ou eliminar dados nessas células, a numeração atualiza-se automaticamente para refletir as alterações. Eis um método prático que pode utilizar:

1. Selecione a célula onde pretende que a numeração comece (por exemplo,)A2, se os seus dados começarem em B2). Introduza a seguinte fórmula:

=IF(B2<>"",COUNTA($B$2:B2),"")
Dica: Esta fórmula verifica se a célula B2não está em branco. Se existirem dados em B2, conta todas as células não vazias desde B2até à linha atual, criando uma sequência contínua para as linhas que contêm valores. Se B2estiver vazia, a fórmula devolve um valor em branco, deixando a célula da sequência vazia.

2. Em seguida, arraste a alça de preenchimento ao longo dos seus dados para aplicar esta fórmula às restantes linhas. A numeração ajusta-se automaticamente, apresentando números apenas nas linhas em que existam dados na coluna B.

numeração automática se não estiver em branco com fórmula

Nota: Este método é especialmente vantajoso para listas em que novos dados possam ser inseridos, eliminados ou modificados em qualquer altura, já que a sequência permanecerá sempre exata sem necessidade de renumeração ou recálculo manuais. Contudo, tenha em atenção que, se existirem células em branco intencionalmente como parte dos seus dados (por exemplo, lacunas deliberadas), essas linhas não serão numeradas.

Se encontrar problemas em que os números não se atualizam conforme esperado, confirme se a fórmula foi copiada para todas as linhas relevantes e se não existem células mescladas ou validações de dados que interfiram no seu intervalo. Lembre-se de que as fórmulas dependem de referências corretas e podem ser interrompidas por alterações estruturais na folha de cálculo.


seta azul com balão à direitaNumerar linhas automaticamente com código VBA se a célula adjacente não estiver em branco

Para utilizadores mais avançados, ou em situações em que prefira não aplicar fórmulas em toda a folha de cálculo — ou precise que a numeração seja atualizada automaticamente ao colar dados, remover blocos ou realizar alterações frequentes — uma macro VBA é uma alternativa atrativa. Com o VBA, pode atualizar automaticamente o número de linhas numa coluna sempre que a célula adjacente for editada, sem recorrer a fórmulas. Esta solução é ideal para formulários de introdução de dados, registos de importação ou listas de tarefas sujeitas a alterações frequentes na disposição.

1. Prima Alt + F11 para abrir a janela do editor do Visual Basic for Applications. No Explorador de Projetos, localize o seu livro e, em seguida, faça duplo clique na folha relevante (por exemplo, «Sheet1») em «Microsoft Excel Objects».

2. Na janela de código que surge, cole o seguinte código. Este exemplo parte do pressuposto de que pretende numerar as linhas na coluna A sempre que a coluna B não estiver em branco; pode ajustar as referências conforme o seu intervalo específico, se necessário:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim chk As Range
    Set chk = Intersect(Target, Me.Columns("B"))
    If chk Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    Call RenumberNonBlank(Me, "B", "A", 2)
    Application.EnableEvents = True
End Sub
Sub RenumberNonBlank(ws As Worksheet, _
                    keyCol As String, _
                    numCol As String, _
                    firstDataRow As Long)
    Dim lastRow As Long
    Dim r As Long
    Dim seq As Long
    lastRow = ws.Cells(ws.Rows.Count, keyCol).End(xlUp).Row
    seq = 1
    For r = firstDataRow To lastRow
        With ws
            If Trim(.Cells(r, keyCol).Value) <> "" Then
                .Cells(r, numCol).Value = seq
                seq = seq + 1
            Else
                .Cells(r, numCol).ClearContents
            End If
        End With
    Next r
End Sub

3. Guarde e feche o editor do VBA. Agora, sempre que adicionar, editar ou limpar conteúdo na coluna B, a coluna A será imediatamente renumerada, refletindo a presença (ou ausência) de dados. A sequência ajusta-se automaticamente para cima ou para baixo à medida que adicionar ou remover entradas na coluna B.

Notas e Precauções:Esta macro deve ser colocada especificamente na janela de código da folha de cálculo pretendida (e não num módulo nem em ThisWorkbook) para responder às edições de células. Além disso, certifique-se de que as macros estão ativadas nas definições do Excel, caso contrário o código não funcionará. Se o seu «Intervalo de Dados» estiver localizado noutras colunas que não A e B, atualize as referências em Set chk = Intersect(Target, Me.Columns("B")) e Call RenumberNonBlank(Me, "B", "A", 2) em conformidade.

Resolução de problemas: Se a numeração não for atualizada, verifique se está a editar a folha de cálculo correta e se o código foi inserido na respetiva janela de código da folha. Confirme também que guardou o livro como um ficheiro com macros ativadas (.xlsm). Em caso de erros inesperados, certifique-se de que não alterou a estrutura da sua folha de cálculo — por exemplo, com células mescladas ou dados nas linhas de cabeçalho.


As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos