Ir para o conteúdo principal

Como inserir números ou linhas para números sequenciais ausentes no Excel?

Supondo que você tenha uma lista de números sequenciais em uma planilha, mas faltem alguns números na sequência, e agora você precise inserir os números ausentes ou linhas em branco para garantir que a sequência seja completa (mostrada nas imagens a seguir). Como você poderia resolver esse problema rapidamente no Excel?

doc-inserir-número-ausente1 -2 doc-inserir-número-ausente2

Insira os números ausentes para a sequência com o recurso Classificar e Remover Duplicados

Insira os números ausentes para a sequência com código VBA

Insira linhas em branco para a sequência ausente com o código VBA

Insira números ausentes ou linhas em branco para sequência com o Kutools para Excel


seta azul bolha direita Insira os números ausentes para a sequência com o recurso Classificar e Remover Duplicados

Pode ser que você possa encontrar os números que faltam um por um e depois inseri-los, mas é difícil para você identificar a localização dos que faltam se houver centenas de números sequenciais. No Excel, posso usar o recurso Classificar e Remover Duplicados para lidar com essa tarefa.

1. Após o final da lista de sequência, preencha outros números de sequência de 2005023001 a 2005023011. Veja a captura de tela:

doc-inserir-número-ausente3

2. Em seguida, selecione o intervalo dos dois números de sequência e clique Data > Classificar de A a Z, veja a captura de tela:

doc-inserir-número-ausente4

3. E os dados selecionados foram classificados da seguinte forma:

doc-inserir-número-ausente5

4. Então você precisa remover as duplicatas por clique Data > Remover Duplicados, e no estalou Remover Duplicados caixa de diálogo, verifique a Coluna nome que você deseja remover as duplicatas, consulte as capturas de tela:

doc-inserir-número-ausente6 -2 doc-inserir-número-ausente7

5. Então clique OK, as duplicatas em Coluna A foi excluído e os números em falta na lista de sequência foram inseridos, consulte a captura de tela:

doc-inserir-número-ausente8


seta azul bolha direita Insira os números ausentes para a sequência com código VBA

Se você acha que há tantas etapas com os métodos acima, aqui também o código VBA pode ajudá-lo a resolver o problema. Faça o seguinte:

1. Segure o ALT + F11 chaves, e abre o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo janela.

VBA: insira números ausentes para a sequência

Sub InsertValueBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    outArr(i + 1, 1) = i + num1
    If dic.Exists(i + num1) Then
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3. Então aperte F5 para executar este código e uma caixa de prompt aparecerá, selecione o intervalo de dados em que deseja inserir os números ausentes (não selecione o intervalo de título), consulte a captura de tela:

doc-inserir-número-ausente9

4. E, em seguida, clique em OK, os números ausentes foram inseridos na lista de sequência. Veja as capturas de tela:

doc-inserir-número-ausente1 -2 doc-inserir-número-ausente2

seta azul bolha direita Insira linhas em branco para a sequência ausente com o código VBA

Às vezes, você só precisa localizar o local dos números que faltam e inserir linhas em branco entre os dados, para que possa inserir as informações conforme necessário. Obviamente, o código VBA a seguir também pode ajudá-lo a resolver esse problema.

1. Mantenha pressionada a ALT + F11 chaves, e abre um Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo janela.

VBA: insira linhas em branco para a sequência ausente

Sub InsertNullBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    If dic.Exists(i + num1) Then
        outArr(i + 1, 1) = i + num1
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 1) = ""
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3. Então aperte F5 para executar este código e uma caixa de prompt será exibida e, em seguida, selecione o intervalo de dados em que deseja inserir linhas em branco para a sequência ausente (não selecione o intervalo de título), consulte a captura de tela:

doc-inserir-número-ausente9

4. E, em seguida, clique em OK, as linhas em branco foram inseridas para a lista de sequência ausente. Veja as capturas de tela:

doc-inserir-número-ausente1 -2 doc-inserir-número-ausente10

seta azul bolha direita Insira números ausentes ou linhas em branco para sequência com o Kutools para Excel

Aqui, vou apresentar uma ferramenta fácil e útil - Kutools for Excel, Com o seu Encontrar número de sequência ausente recurso, você pode inserir rapidamente o número de sequência ausente ou linhas em branco entre a sequência de dados existente.

Kutools for Excel : com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias

Se você instalou Kutools for Excel, faça o seguinte:

1. Selecione a sequência de dados em que deseja inserir os números ausentes.

2. Clique Kutools > inserção > Encontrar número de sequência ausente, veja a captura de tela:

3. No Encontrar número de sequência ausente caixa de diálogo, verifique Inserindo número de sequência ausente para inserir os números que faltam ou euinserir linhas em branco ao encontrar números de sequência ausentes para inserir linhas em branco conforme necessário. Veja a imagem:

doc-inserir-número-ausente10

4. E, em seguida, clique em OK botão, e os números de sequência ausentes ou linhas em branco foram inseridos nos dados, consulte as capturas de tela:

doc-inserir-número-ausente10 2 doc-inserir-número-ausente10 2 doc-inserir-número-ausente10

Baixe e teste grátis Kutools para Excel agora!


seta azul bolha direita  Demonstração: insira números ausentes ou linhas em branco para sequência com Kutools para Excel

Kutools for Excel: com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias. Baixe e teste grátis agora!

Artigo relacionado:

Como identificar a seqüência de números ausentes no Excel?

Melhores ferramentas de produtividade de escritório

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

Descrição


Office Tab 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!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have used the code for "VBA: insert blank rows for missing sequence" as listed above and works great - but i need it to insert rows across the all columns it only adds rows to the first 2 columns of my selection - not my entire table.
This comment was minimized by the moderator on the site
Hello, Melanie,

To solve your problem, maybe the following code can help you: (Note: A indicates the column contains the missing sequence, please change it to your need.)
Sub InsertBlankRowsForMissingSequence()
    Dim i As Long
    On Error Resume Next
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
        If IsNumeric(Cells(i, "A").Value) And IsNumeric(Cells(i - 1, "A").Value) And Cells(i, "A").Value <> "" And Cells(i - 1, "A").Value <> "" Then
            If Cells(i, "A").Value - Cells(i - 1, "A").Value > 1 Then
                Debug.Print Cells(i, "A").Value - Cells(i - 1, "A").Value - 1
                Rows(i).Resize(Cells(i, "A").Value - Cells(i - 1, "A").Value - 1).Insert
            End If
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
I am trying to use the VBA for sequential numbers. I have several columns next to the numbers of which numbers too. I.e.
1. HL Meter 34
2. HL Watermeter 40
4. HL CO2meter 24

When I use the code it works for the first 3 columns but it gets mixed up if I include the 4th column since it includes numbers too.
How can I change the code to make sure the numbers in column 4 stay the same?
This comment was minimized by the moderator on the site
Thank you amazing
This comment was minimized by the moderator on the site
What if i want to select 6 columns and then check 1st column for dates and if dates are missing add a row(blank cells) for all 6 columns
This comment was minimized by the moderator on the site
I want to use "Inserting missing sequence Number" feature but it's not supporting for digits more than 12 ? there are many sets in which I want to insert the sequence between (it's a alpha-numeric digit) can you help
This comment was minimized by the moderator on the site
Hi, I want to use "Inserting Missing Sequence Number", but it's not supporting if the no. of digits are more than 12 can you help ?
This comment was minimized by the moderator on the site
What if i want to select 6 columns and then check 1st column for dates and if dates are missing add a row(blank cells) for all 6 columns
This comment was minimized by the moderator on the site
Thank you very much. How do i change the script if the increments is only 0.02 and not 1 This is for the script InsertNullBetween()
This comment was minimized by the moderator on the site
this worked and was very easy to complete the task. Thank you.
This comment was minimized by the moderator on the site
Thanks ! Great script ! How i can modify this script if i say we need to process not only ID column + NAME column, but ID column + NAME column + NEW column ? How i can add new columns in this script?
This comment was minimized by the moderator on the site
The following is the modified macro to include an added column - Another important point is that when prompted to select the range, you should only select the first column - these took me a few hours! hope to save others' time

Sub InsertValueBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
Dim dic2 As Variant
Set dic2 = CreateObject("Scripting.Dictionary")

'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 3)
For Each Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Value
dic2(Rng.Value) = Rng.Offset(0, 2).Value
Next
For i = 0 To interval
outArr(i + 1, 1) = i + num1
If dic.Exists(i + num1) Then
outArr(i + 1, 2) = dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)
Else
outArr(i + 1, 2) = ""
outArr(i + 1, 3) = ""

End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Value = outArr
.Select
End With
End Sub
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations