Ga naar hoofdinhoud

Hoe cijfers of rijen invoegen voor ontbrekende opeenvolgende getallen in Excel?

Stel dat je een lijst met opeenvolgende nummers in een werkblad hebt, maar er zijn enkele ontbrekende nummers in de reeks, en nu moet je de ontbrekende cijfers of lege rijen invoegen om ervoor te zorgen dat de reeks compleet is (weergegeven als de volgende schermafbeeldingen). Hoe kon je dit probleem snel oplossen in Excel?

doc-insert-missing number1 -2 doc-insert-missing number2

Voeg ontbrekende nummers in voor volgorde met de functie Sorteren en verwijderen van duplicaten

Voeg ontbrekende nummers in voor reeks met VBA-code

Voeg lege rijen in voor ontbrekende reeks met VBA-code

Voeg ontbrekende nummers of lege rijen in voor volgorde met Kutools voor Excel


pijl blauw rechts bel Voeg ontbrekende nummers in voor volgorde met de functie Sorteren en verwijderen van duplicaten

Het kan zijn dat u de ontbrekende nummers een voor een kunt vinden en ze vervolgens kunt invoegen, maar het is moeilijk voor u om de locatie van de ontbrekende nummers te identificeren als er honderden opeenvolgende nummers zijn. In Excel kan ik de functie Sorteren en verwijderen van duplicaten gebruiken om deze taak uit te voeren.

1. Vul na het einde van de reekslijst nog een reeksnummers in van 2005023001 tot 2005023011. Zie screenshot:

doc-insert-missing number3

2. Selecteer vervolgens het bereik van de twee volgnummers en klik op Data > Sorteer A tot Z, zie screenshot:

doc-insert-missing number4

3. En de geselecteerde gegevens zijn gesorteerd als volgende screenshot:

doc-insert-missing number5

4. Vervolgens moet u de duplicaten verwijderen door erop te klikken Data > Verwijder duplicaten, en in de pop eruit Verwijder duplicaten dialoogvenster, controleer de Kolom naam waarvan je de duplicaten wilt verwijderen, zie screenshots:

doc-insert-missing number6 -2 doc-insert-missing number7

5. Dan klikken OK, de duplicaten in Kolom A is verwijderd en de ontbrekende nummers in de sequentielijst zijn ingevoegd, zie screenshot:

doc-insert-missing number8


pijl blauw rechts bel Voeg ontbrekende nummers in voor reeks met VBA-code

Als u denkt dat er zoveel stappen zijn met de bovenstaande methoden, kunt u hier ook VBA-code gebruiken om dit probleem op te lossen. Ga als volgt te werk:

1. Houd de ALT + F11 toetsen, en het opent de Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module venster.

VBA: voeg ontbrekende nummers in voor de reeks

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. Druk vervolgens op F5 toets om deze code uit te voeren, en er verschijnt een promptvenster, selecteer het gegevensbereik waarin u de ontbrekende nummers wilt invoegen (selecteer niet het titelbereik), zie screenshot:

doc-insert-missing number9

4. En klik vervolgens op OKzijn de ontbrekende nummers toegevoegd aan de sequentielijst. Zie screenshots:

doc-insert-missing number1 -2 doc-insert-missing number2

pijl blauw rechts bel Voeg lege rijen in voor ontbrekende reeks met VBA-code

Soms hoeft u alleen maar de plaats van de ontbrekende nummers te lokaliseren en lege rijen tussen de gegevens in te voegen, zodat u de informatie naar behoefte kunt invoeren. Natuurlijk kan de volgende VBA-code u ook helpen dit probleem op te lossen.

1. Houd de toets ingedrukt ALT + F11 toetsen, en het opent een Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module venster.

VBA: voeg lege rijen in voor ontbrekende reeks

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. Druk vervolgens op F5 toets om deze code uit te voeren, en er verschijnt een promptvenster en selecteer vervolgens het gegevensbereik dat u lege rijen wilt invoegen voor de ontbrekende reeks (selecteer niet het titelbereik), zie screenshot:

doc-insert-missing number9

4. En klik vervolgens op OK, zijn de lege rijen ingevoegd voor de lijst met ontbrekende sequenties. Zie screenshots:

doc-insert-missing number1 -2 doc-insert-missing number10

pijl blauw rechts bel Voeg ontbrekende nummers of lege rijen in voor volgorde met Kutools voor Excel

Hier zal ik een eenvoudige en handige tool introduceren- Kutools for Excel, Met Zoek het ontbrekende volgnummer functie, kunt u snel het ontbrekende volgnummer of lege rijen tussen de bestaande gegevensreeks invoegen.

Kutools for Excel : met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen

Als je hebt geïnstalleerd Kutools for Excelgaat u als volgt te werk:

1. Selecteer de gegevensreeks waarin u de ontbrekende nummers wilt invoegen.

2. Klikken Kutools > Invoegen > Zoek het ontbrekende volgnummer, zie screenshot:

3. In de Zoek het ontbrekende volgnummer dialoogvenster, vink aan Ontbrekend volgnummer invoegen om de ontbrekende nummers in te voegen of Ilege rijen invoegen bij het tegenkomen van ontbrekende volgnummers om naar behoefte lege rijen in te voegen. Zie screenshot:

doc-insert-missing number10

4. En klik vervolgens op OK knop, en de ontbrekende volgnummers of lege rijen zijn in de gegevens ingevoegd, zie screenshots:

doc-insert-missing number10 2 doc-insert-missing number10 2 doc-insert-missing number10

Download en gratis proef Kutools voor Excel nu!


pijl blauw rechts bel  Demo: voeg ontbrekende nummers of lege rijen in voor een reeks met Kutools voor Excel

Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. Download en probeer nu gratis!

Gerelateerd artikel:

Hoe ontbrekende getallenreeks in Excel te identificeren?

Beste Office-productiviteitstools

🤖 Kutools AI-assistent: Een revolutie teweegbrengen in de data-analyse op basis van: Intelligente uitvoering   |  Genereer code  |  Aangepaste formules maken  |  Analyseer gegevens en genereer grafieken  |  Roep Kutools-functies aan...
Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

Omschrijving


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
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