Skip to main content

Kutools voor Office — Eén Suite. Vijf Tools. Verwezenlijkt Meer.

Hoe rijen automatisch te nummeren als de aangrenzende cel niet leeg is in Excel?

Author Xiaoyang Last modified
autonumber rows if adjacent cell not blank

In Excel is het gebruik van de vulgreep om handmatig een reeks getallen te maken een gebruikelijke manier om serienummers of indexen voor lijsten te genereren. Er zijn echter vaak situaties waarin je alleen rijen wilt nummeren als een specifieke aangrenzende cel gegevens bevat. Bijvoorbeeld, je wilt misschien automatisch rijnummers genereren in een lijst, maar nummering overslaan waar de aangrenzende gegevenscellen leeg zijn. Bovendien verwacht je mogelijk dat deze nummers direct worden bijgewerkt wanneer gegevens worden ingevoerd of verwijderd — zodat er altijd een actuele volgorde wordt weergegeven zonder handmatige tussenkomst.

Rijen automatisch nummeren met formule als de aangrenzende cel niet leeg is

Rijen automatisch nummeren met VBA-code als de aangrenzende cel niet leeg is


arrow blue right bubble Rijen automatisch nummeren met formule als de aangrenzende cel niet leeg is

Een efficiënte manier om dynamische rijnummering op basis van aangrenzende celwaarden te bereiken, is door een Excel-formule te gebruiken. Met deze aanpak worden rijnummers alleen weergegeven wanneer de aangrenzende cel een waarde bevat. Wanneer je gegevens toevoegt of verwijdert in deze cellen, wordt de nummering automatisch bijgewerkt om overeen te komen. Hier is een praktische methode die je kunt gebruiken:

1. Selecteer de cel waar je wilt dat de nummering begint (bijvoorbeeld A2 als je gegevens beginnen in B2). Voer de volgende formule in:

=IF(B2<>"",COUNTA($B$2:B2),"")
Tip: Deze formule controleert of cel B2 niet leeg is. Als er gegevens in B2 staan, telt het alle niet-lege cellen van B2 naar beneden tot de huidige rij, waardoor een continue reeks wordt gemaakt voor rijen die waarden bevatten. Als B2 leeg is, retourneert de formule een blanco, waardoor de reekscel leeg blijft.

2. Sleep vervolgens de vulgreep naar beneden langs je gegevens om deze formule toe te passen op andere rijen. De nummering wordt automatisch aangepast en toont alleen nummers voor rijen waar gegevens aanwezig zijn in kolom B.

autonumber if not blank with formula

Opmerking: Deze methode is vooral voordelig voor lijsten waar nieuwe gegevens op elk moment kunnen worden ingevoegd, verwijderd of gewijzigd, omdat de volgorde altijd nauwkeurig blijft zonder handmatige hernummering of herberekening nodig te hebben. Let wel op dat als er lege cellen deel uitmaken van je gegevens (bijvoorbeeld opzettelijke openingen), die rijen niet genummerd zullen worden.

Als je problemen ervaart waarbij de nummers niet zoals verwacht worden bijgewerkt, controleer dan of de formule naar alle relevante rijen is gekopieerd en dat er geen samengevoegde cellen of gegevensvalidaties zijn die je bereik verstoren. Onthoud dat formules afhankelijk zijn van nauwkeurige referenties en kunnen worden onderbroken door structurele wijzigingen in het werkblad.


arrow blue right bubble Rijen automatisch nummeren met VBA-code als de aangrenzende cel niet leeg is

Voor meer gevorderde gebruikers, of in gevallen waarin je liever geen formules door je hele werkblad toepast — of wanneer je nummering wilt updaten zelfs bij het plakken van gegevens, blokken verwijderen of frequent wijzigen — biedt een VBA-macro een interessant alternatief. Met VBA kun je de rijnummers in één kolom automatisch bijwerken wanneer de aangrenzende cel wordt bewerkt, zonder dat formules nodig zijn. Dit is ideaal voor invoerformulieren, importlogboeken of takenlijsten met frequente lay-outwijzigingen.

1. Druk op Alt + F11 om het Visual Basic for Applications-editorvenster te openen. Zoek in de Projectverkenner je werkmap, dubbelklik dan op het relevante werkblad (bijvoorbeeld 'Sheet1') onder 'Microsoft Excel Objects'.

2. Plak de volgende code in het coderaam dat verschijnt. Dit voorbeeld gaat ervan uit dat je rijen in kolom A wilt nummeren op basis van of kolom B niet leeg is; je kunt de referenties aanpassen voor jouw specifieke bereik indien nodig:

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. Sla op en sluit de VBA-editor. Nu zal, telkens wanneer je inhoud toevoegt, bewerkt of verwijdert in kolom B, kolom A onmiddellijk opnieuw worden genummerd, wat de aanwezigheid (of afwezigheid) van gegevens weerspiegelt. De volgorde zal omhoog of omlaag schuiven naarmate je items in kolom B toevoegt of verwijdert.

Opmerkingen en voorzorgsmaatregelen: Deze macro moet specifiek in het codevenster van het gewenste werkblad worden geplaatst (niet in een module of ThisWorkbook) om te reageren op celbewerkingen. Zorg er ook voor dat macros zijn ingeschakeld in je Excel-instellingen opdat de code werkt. Als je 'gegevensbereik' verschuift naar kolommen anders dan A en B, pas dan de Set chk = Intersect(Target, Me.Columns("B")) en Call RenumberNonBlank(Me, "B", "A", 2) referenties dienovereenkomstig aan.

Problemen oplossen: Als de nummering niet wordt bijgewerkt, controleer dan of je het juiste werkblad bewerkt en dat de code in het juiste werkbladcodevenster is geplaatst. Zorg er ook voor dat je de werkmap hebt opgeslagen als een macro-ondersteund bestand (.xlsm). Bij onverwachte fouten, controleer dan of je de structuur van je werkblad niet hebt gewijzigd, zoals samengevoegde cellen of gegevens in koptekstrijen.


Beste productiviteitstools voor Office

🤖 Kutools AI Assistent: Transformeer data-analyse door: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools functies aanroepen
Populaire functies: Dubbele waarden markeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies |   Afronden zonder formule...
Super ZOEKEN: Meervoudig-criteria opzoeken | Meervoudige waarde opzoeken | Meervoudig-blad opzoeken | Fuzzy Match....
Geavanceerde keuzelijst: Keuzelijst snel maken | Afhankelijke keuzelijst | Meervoudige selectie in keuzelijst....
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheidsstatus van verborgen kolommen wisselen | Bereik & kolommen vergelijken...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden via lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...)...
Top15 gereedschapssets:12 teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) | 50+ grafiek typen (Gantt-diagram, ...) | 40+ praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) | 19 invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & splitsgereedschappen (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer
Gebruik Kutools in je voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en meer dan40 andere talen!

Verbeter je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te kiezen die je het meest nodig hebt...


Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger

  • Activeer tabbladbewerking en -lezen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!

Alle Kutools-invoegtoepassingen. Eén installatieprogramma

Kutools for Office-suite bundelt invoegtoepassingen voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro, ideaal voor teams die werken met Office-toepassingen.

Excel Word Outlook Tabs PowerPoint
  • Alles-in-één suite — invoegtoepassingen voor Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Eén installatieprogramma, één licentie — in enkele minuten geïnstalleerd (MSI-ready)
  • Werkt beter samen — gestroomlijnde productiviteit over meerdere Office-toepassingen
  • 30 dagen volledige proef — geen registratie, geen creditcard nodig
  • Beste prijs — bespaar ten opzichte van losse aanschaf van invoegtoepassingen