Ugrás a tartalomra

Hogyan illeszthet be számokat vagy sorokat a hiányzó sorszámokhoz az Excelben?

Tételezzük fel, hogy van egy munkalapon a szekvenciális számok listája, de van néhány hiányzó szám a szekvencia között, és most be kell illesztenie a hiányzó számokat vagy üres sorokat, hogy megbizonyosodjon arról, hogy a szekvencia teljes-e (a következő képernyőképekként látható). Hogyan tudná gyorsan megoldani ezt a problémát az Excel programban?

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

Helyezze be a hiányzó számokat a sorrendhez a Másolatok rendezése és eltávolítása funkcióval

Helyezze be a hiányzó számokat a VBA kóddal ellátott sorozathoz

Helyezzen be üres sorokat a hiányzó VBA kóddal

Szúrjon be hiányzó számokat vagy üres sorokat a sorozathoz a Kutools for Excel segítségével


nyíl kék jobb buborék Helyezze be a hiányzó számokat a sorrendhez a Másolatok rendezése és eltávolítása funkcióval

Lehetséges, hogy egyesével megtalálhatja a hiányzó számokat, majd beillesztheti őket, de ha több száz szekvenciális szám van, akkor nehéz meghatároznia a hiányzó számok helyét. Az Excelben a duplikátumok rendezése és eltávolítása funkcióval kezelhetem ezt a feladatot.

1. A szekvencialista végét követően töltsön ki egy másik sorszámot 2005023001 és 2005023011 között. Lásd a képernyőképet:

doc-insert-missing-number3

2. Ezután válassza ki a két sorszám tartományát és kattintson dátum > Rendezés A-tól Z-ig, lásd a képernyőképet:

doc-insert-missing-number4

3. A kiválasztott adatok a következő képernyőkép szerint lettek rendezve:

doc-insert-missing-number5

4. Ezután kattintson az ismétlésekre kattintással dátum > Távolítsa el a másolatokat, és beugrott Távolítsa el a másolatokat párbeszédpanelen ellenőrizze a Oszlop név, amelyet el akar távolítani az ismétlésekből, lásd a képernyőképeket:

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

5. Ezután kattintson OK, a másolatok A oszlop törlésre került, és a sorrendlistából hiányzó számokat illesztettek be, lásd a képernyőképet:

doc-insert-missing-number8


nyíl kék jobb buborék Helyezze be a hiányzó számokat a VBA kóddal ellátott sorozathoz

Ha úgy érzi, hogy a fenti módszerekkel annyi lépés van, itt van egy VBA-kód is, amely segít a probléma befejezésében. Kérjük, tegye a következőket:

1. Tartsa lenyomva a ALT + F11 gombokat, és ez megnyitja a Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok ablak.

VBA: hiányzó számok beillesztése a sorozathoz

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. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és megjelenik egy prompt doboz, kérjük, válassza ki azt az adattartományt, amelybe be szeretné illeszteni a hiányzó számokat (ne válassza ki a címtartományt), lásd a képernyőképet:

doc-insert-missing-number9

4. Kattintson a gombra OK, a hiányzó számok bekerültek a sorrendbe. Képernyőképek megtekintése:

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

nyíl kék jobb buborék Helyezzen be üres sorokat a hiányzó VBA kóddal

Előfordul, hogy csak meg kell találnia a hiányzó számok helyét, és üres sorokat kell beillesztenie az adatok közé, hogy a szükséges információkat megadhassa. Természetesen a következő VBA-kód is segíthet a probléma megoldásában.

1. Tartsa lenyomva a ALT + F11 gombokat, és megnyílik a Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok ablak.

VBA: üres sorok beillesztése a hiányzó sorrendhez

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. Ezután nyomja meg a gombot F5 gombot a kód futtatásához, és megjelenik egy prompt doboz, majd válassza ki azt az adattartományt, amelybe üres sorokat kíván beilleszteni a hiányzó sorrendhez (ne válassza ki a címtartományt), lásd a képernyőképet:

doc-insert-missing-number9

4. Kattintson a gombra OK, az üres sorokat beillesztették a hiányzó sorozatok listájába. Képernyőképek megtekintése:

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

nyíl kék jobb buborék Szúrjon be hiányzó számokat vagy üres sorokat a sorozathoz a Kutools for Excel segítségével

Itt bemutatok egy egyszerű és praktikus eszközt - Kutools az Excel számára, Annak Keresse meg a hiányzó sorozatszámot funkcióval gyorsan beillesztheti a hiányzó sorszámot vagy üres sorokat a meglévő adatsor közé.

Kutools az Excel számára : több mint 300 praktikus Excel-bővítménnyel, ingyenesen, korlátozás nélkül, 30 nap alatt kipróbálható

Ha telepítve van Kutools az Excel számára, kérjük, tegye a következőket:

1. Válassza ki azt az adatsort, amelybe be kívánja illeszteni a hiányzó számokat.

2. Kattints Kutools > betétlap > Keresse meg a hiányzó sorozatszámot, lásd a képernyőképet:

3. Az Keresse meg a hiányzó sorozatszámot párbeszédpanelen ellenőrizze Hiányzó sorszám beillesztése a hiányzó számok beillesztésére vagy In üres sorok beillesztése hiányzó sorszámok találkozásakor üres sorok beszúrásához szükség szerint. Lásd a képernyőképet:

doc-insert-missing-number10

4. Kattintson a gombra OK gombra, és a hiányzó sorszámokat vagy üres sorokat beszúrta az adatokba, lásd a képernyőképeket:

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

Töltse le és ingyenes próbaverziója a Kutools for Excel programhoz most!


nyíl kék jobb buborék  Demo: Szúrjon be hiányzó számokat vagy üres sorokat a sorozathoz a Kutools for Excel segítségével

Kutools az Excel számára: több mint 300 praktikus Excel-bővítménnyel, ingyenesen, korlátozás nélkül, 30 nap alatt kipróbálható. Töltse le és ingyenes próbaverziót most!

Kapcsolódó cikk:

Hogyan lehet azonosítani a hiányzó számok sorrendjét az Excelben?

A legjobb irodai hatékonyságnövelő eszközök

Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

kte lap 201905


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
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