Skip to main content

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

Author: Xiaoyang Last Modified: 2025-07-21
autonumber rows if adjacent cell not blank

No Excel, usar o controle de preenchimento para criar manualmente uma série de números é uma forma comum de gerar números de série ou índices para listas. No entanto, muitas vezes há situações em que você só deseja numerar as linhas se uma célula adjacente específica contiver dados. Por exemplo, pode ser necessário 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 atualizada o tempo todo, 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 das linhas 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 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: Essa 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 essa 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 renumerar ou recalcular manualmente. No entanto, esteja ciente de que, se células em branco existirem como parte de seus dados (por exemplo, lacunas intencionais), essas linhas permanecerão sem numeração.

Se você enfrentar problemas onde os números não se atualizam 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 de que as fórmulas dependem de referências precisas e podem ser interrompidas por mudanças 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 em que você prefira não aplicar fórmulas em toda a sua planilha — ou precise 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 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, registros de importação ou listas de tarefas com alterações frequentes de 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, depois 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 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. 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 será ajustada 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) de acordo.

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 está 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 macro (.xlsm). Para erros inesperados, verifique novamente se você não alterou a estrutura da sua planilha, como células mescladas ou dados nas linhas do cabeçalho.


Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: 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 | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço 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 uma 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 Estado de Visibilidade das 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

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O 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...


O Office Tab traz interface com abas para o Office e facilita muito o 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 na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!