Skip to main content

Como numerar automaticamente linhas se a célula adjacente não estiver em branco no Excel?

Author: Xiaoyang Last Modified: 2025-08-06
autonumber rows if adjacent cell not blank

No Excel, usar a alça de preenchimento para criar manualmente uma série de números é uma maneira comum de gerar números de série ou índices para listas. No entanto, muitas vezes surgem situações em que você só deseja numerar as linhas se uma célula adjacente específica contiver dados. Por exemplo, você pode querer gerar automaticamente números de linha em uma lista, mas pular a numeração onde as células de dados adjacentes estão vazias. Além disso, você pode esperar que esses números sejam atualizados instantaneamente à medida que os dados são inseridos ou removidos — fornecendo uma sequência sempre atualizada sem 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


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

Uma maneira eficiente de alcançar a numeração dinâmica de linhas com base nos valores das células adjacentes é usar uma fórmula do Excel. Com essa abordagem, os números de linha serão exibidos apenas quando a célula adjacente contiver um valor. Quando você adicionar ou excluir dados nessas células, a numeração será atualizada automaticamente para corresponder. Aqui está um método prático que você pode usar:

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

=IF(B2<>"",COUNTA($B$2:B2),"")
Dica: Esta fórmula verifica se a célula B2 não está em branco. Se houver dados em B2, ela conta todas as células não vazias de B2 até a linha atual, criando uma sequência contínua para as linhas que contêm valores. Se B2 estiver vazio, a fórmula retorna um espaço em branco, deixando a célula da sequência vazia.

2. Em seguida, arraste a alça de preenchimento para baixo ao longo dos seus dados para aplicar esta fórmula às outras linhas. A numeração será ajustada automaticamente, exibindo números apenas para as linhas onde os dados estão presentes na coluna B.

autonumber if not blank with formula

Observação: Este método é especialmente benéfico para listas onde novos dados podem ser inseridos, excluídos ou modificados a qualquer momento, pois a sequência sempre permanecerá precisa sem necessidade de renumeração ou recálculo manual. No entanto, esteja ciente de que, se houver células em branco como parte dos seus dados (por exemplo, lacunas intencionais), essas linhas permanecerão sem numeração.

Se você enfrentar problemas onde os números não são atualizados conforme o esperado, confirme que a fórmula foi copiada para todas as linhas relevantes e que não há células mescladas ou validações de dados interferindo no seu intervalo. Lembre-se, as fórmulas dependem de referências precisas e podem ser interrompidas por alterações estruturais na planilha.


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

Para usuários mais avançados, ou em casos onde você prefere não aplicar fórmulas em toda a sua planilha — ou precisa que a numeração seja atualizada mesmo ao colar dados, remover blocos ou fazer alterações frequentes — uma macro VBA oferece uma alternativa interessante. Usando o VBA, você pode atualizar automaticamente os números das linhas em uma coluna sempre que a célula adjacente for editada, sem a necessidade de fórmulas. Isso é ideal para formulários de entrada de dados, logs de importação ou listas de tarefas com alterações frequentes no layout.

1. Pressione Alt + F11 para abrir a janela do editor do Visual Basic for Applications. No Explorador de Projetos, localize sua pasta de trabalho e, em seguida, clique duas vezes na planilha relevante (por exemplo, “Planilha1”) em “Objetos do Microsoft Excel”.

2. Na janela de código que aparece, cole o seguinte código. Este exemplo assume que você deseja numerar as linhas na coluna A com base em se a coluna B não está em branco; você pode ajustar as referências para o 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. Salve e feche o editor VBA. Agora, sempre que você adicionar, editar ou limpar conteúdo na coluna B, a coluna A será renumerada imediatamente, refletindo a presença (ou ausência) de dados. A sequência irá se ajustar para cima ou para baixo à medida que você adicionar ou remover entradas na coluna B.

Notas e Precauções: Esta macro deve ser colocada especificamente na janela de código da planilha desejada (não em um módulo ou ThisWorkbook) para responder às edições de células. Além disso, certifique-se de que as macros estão habilitadas nas configurações do Excel para que o código funcione. Se o "intervalo de dados" mudar para colunas diferentes de A e B, atualize as referências Set chk = Intersect(Target, Me.Columns("B")) e Call RenumberNonBlank(Me, "B", "A", 2) adequadamente.

Solução de Problemas: Se a numeração não for atualizada, verifique novamente se você está editando a planilha correta e se o código foi colocado na janela de código da planilha apropriada. Além disso, certifique-se de ter salvo a pasta de trabalho como um arquivo habilitado para macros (.xlsm). Para erros inesperados, verifique novamente se você não alterou a estrutura da sua planilha, como células mescladas ou dados em linhas de cabeçalho.


Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com base em: Execução Inteligente|Gerar Código |Criar Fórmulas Personalizadas|Analisar Dados e Gerar Gráficos |Acionar Funções Aprimoradas
Recursos populares: Encontrar, Destacar ou Marcar Duplicados|Excluir Linhas em Branco|Combinar Colunas ou Células sem perder dados| Arredondar...
Super PROC: PROC com múltiplos critérios|PROC com múltiplos valores|Procura em várias planilhas|Correspondência Fuzzy....
Lista Suspensa Avançada: Crie rapidamente Lista Suspensa|Lista Suspensa Dependente|Lista Suspensa com Múltipla Seleção....
Gerenciador de Colunas: Adicionar um número específico de colunas |Mover Colunas |Alternar o Estado de Visibilidade de Colunas Ocultas| Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco|Visualização de Design|Barra de fórmulas aprimorada|Gerenciador de Pasta de Trabalho & Planilha|Biblioteca de AutoTexto|Selecionador de Data|Mesclar Dados |Criptografar/Descriptografar Células|Enviar Email por Lista|Super Filtro|Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ... ) |Mais de50 Tipos de Gráficos (Gráfico de Gantt, ... ) |Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ... ) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ... ) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ... ) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ... ) |... e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...


Office Tab traz interface de abas para o Office e facilita muito seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!