Hoe nummer ik rijen automatisch in Excel wanneer de aangrenzende cel niet leeg is?

In Excel is het gebruiken van de vulgreep om handmatig een reeks getallen te maken een veelvoorkomende manier om serienummers of indexnummers voor lijsten te genereren. Er zijn echter vaak situaties waarin u rijen alleen wilt nummeren als een specifieke aangrenzende cel gegevens bevat. U wilt bijvoorbeeld automatisch Aantal rijen instellen genereren in een lijst, maar de nummering overslaan wanneer de aangrenzende gegevenscellen leeg zijn. Bovendien verwacht u mogelijk dat deze nummers direct worden bijgewerkt zodra gegevens worden ingevoerd of verwijderd – zodat u altijd een actuele reeks hebt zonder handmatige tussenkomst.
Nummer rijen automatisch als aangrenzende cel niet leeg is met een formule
Nummer rijen automatisch als aangrenzende cel niet leeg is met VBA-code
Nummer rijen automatisch als aangrenzende cel niet leeg is met een formule
Een efficiënte manier om dynamische rijnummering te realiseren op basis van waarden in aangrenzende cellen, is het gebruik van een Excel-formule. Met deze aanpak wordt het rijnummer alleen weergegeven wanneer de aangrenzende cel een waarde bevat. Voegt u gegevens toe of verwijdert u ze uit deze cellen, dan wordt de nummering automatisch bijgewerkt. Hieronder vindt u een praktische methode die u direct kunt toepassen:
1. Selecteer de cel waar u de nummering wilt starten (bijvoorbeeld)A2 als uw gegevens beginnen in B2). Voer de volgende formule in:
=IF(B2<>"",COUNTA($B$2:B2),"") 2. Sleep vervolgens de vulgreep omlaag langs uw gegevens om deze formule op andere rijen toe te passen. De nummering past zich automatisch aan en toont alleen nummers voor rijen waar gegevens in kolom B aanwezig zijn.

Als de nummers niet zoals verwacht worden bijgewerkt, controleer dan of de formule naar alle relevante rijen is gekopieerd en of er geen samengevoegde cellen of gegevensvalidatieregels zijn die het bereik verstoren. Houd er rekening mee dat formules afhankelijk zijn van nauwkeurige verwijzingen en kunnen worden beïnvloed door structurele wijzigingen in het werkblad.
Nummer rijen automatisch als aangrenzende cel niet leeg is met VBA-code
Voor gevorderde gebruikers, of in situaties waarin u geen formules over uw volledige werkblad wilt toepassen – of wanneer u nummering nodig hebt die automatisch wordt bijgewerkt bij het plakken van gegevens, het verwijderen van blokken of frequente lay-outwijzigingen – biedt een VBA-macro een krachtig alternatief. Met VBA kunt u het aantal rijen in één kolom automatisch laten bijwerken telkens wanneer de aangrenzende cel wordt gewijzigd, zonder enige formule te gebruiken. Dit is ideaal voor invoerformulieren, importlogboeken of taaklijsten met regelmatig veranderende opmaak.
1. Druk op Alt + F11 om het Visual Basic for Applications-bewerkervenster te openen. Zoek in de Projectverkenner uw werkmap en dubbelklik op het betreffende werkblad (bijv. „Sheet1”) onder „Microsoft Excel Objects”.
2. Plak de volgende code in het verschijnende codovenster. In dit voorbeeld wordt ervan uitgegaan dat u rijen in kolom A wilt nummeren op basis van of kolom B niet leeg is; pas de verwijzingen indien nodig aan voor uw specifieke bereik:
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 de VBA-editor op en sluit deze. Vanaf nu wordt kolom A automatisch hernummerd zodra u inhoud in kolom B toevoegt, bewerkt of verwijdert—afhankelijk van de aanwezigheid (of afwezigheid) van gegevens. De nummering past zich direct aan wanneer u items in kolom B toevoegt of verwijdert.
Opmerkingen en voorzorgsmaatregelen:Plaats deze macro specifiek in het codovenster van het gewenste werkblad (niet in een module of ThisWorkbook) om te reageren op celwijzigingen. Zorg er ook voor dat macro’s zijn ingeschakeld in uw Excel-instellingen, zodat de code correct werkt. Als uw „Gegevensbereik" verschuift naar andere kolommen dan A en B, pas dan de verwijzingen in Set chk = Intersect(Target, Me.Columns("B")) en Call RenumberNonBlank(Me, "B", "A", 2) dienovereenkomstig aan.
Probleemoplossing: Als de nummering niet wordt bijgewerkt, controleer dan of u het juiste werkblad bewerkt en of de code zich in het juiste werkbladcodovenster bevindt. Zorg er ook voor dat u de werkmap hebt opgeslagen als een bestand met macro’s (.xlsm). Mocht u onverwachte fouten tegenkomen, controleer dan of u de structuur van uw werkblad niet hebt gewijzigd—bijvoorbeeld door cellen samen te voegen of gegevens in koprijen te plaatsen.
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins