KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe haalt u altijd de waarde uit de cel erboven op bij het invoegen of verwijderen van een rij in Excel?

AuteurXiaoyang Wijzigingsdatum

In Excel is het verwijzen naar de waarde van de cel direct erboven een veelvoorkomende vereiste bij het maken van lopende totalen, maand-op-maandvergelijkingen of simpelweg het behouden van gegevensconsistentie terwijl uw werkblad evolueert. Normaal gesproken kunt u verwijzen naar de cel erboven met een eenvoudige formule zoals =D5, maar deze oplossing heeft beperkingen: als u een rij invoegt of rijen verwijdert, blijft uw formule mogelijk niet verwijzen naar de nieuwe „bovenliggende” cel zoals u zou verwachten. Zoals hieronder wordt geïllustreerd, kan het invoegen van een nieuwe rij de continuïteit verstoren of ervoor zorgen dat de verwijzing vasthoudt aan de oorspronkelijke cel in plaats van zich aan te passen aan de nieuwe positie.

Een schermafbeelding die laat zien hoe de verwijzing naar de cel erboven wordt verbroken na het invoegen van een rij in Excel

Om dit probleem op te lossen en ervoor te zorgen dat uw formule altijd de waarde uit de directe cel erboven ophaalt—zelfs nadat u rijen hebt ingevoegd of verwijderd—zijn er verschillende aanpakken mogelijk. Elke methode brengt eigen afwegingen met zich mee, afhankelijk van de complexiteit van uw werkblad, of u een automatisch bijwerkende of een handmatige formule voorkeurt, en of u vertrouwd bent met het gebruik van VBA/macros.

Inhoudsopgave:


pijl blauw rechts bubbel Haal altijd de waarde uit de cel erboven bij het invoegen of verwijderen van rijen met een formule

Los dit probleem eenvoudig op—zonder macros of ingewikkelde instellingen—met een slimme formule die dynamisch verwijst naar de cel erboven, ongeacht hoe uw rijen veranderen. Deze formule combineert de INDIRECT- en ADDRESS-functies van Excel, zodat de verwijzing automatisch ‘meeverplaatst’ met de cel erboven, zelfs als rijen verschuiven door invoegingen of verwijderingen. Ideaal voor werkbladen waarin u regelmatig de rijstructuur aanpast, zoals bij het toevoegen van nieuwe gegevens bovenaan of midden in een lijst!

Voer de volgende formule rechtstreeks in de cel in waarin u altijd de waarde van bovenaf wilt ophalen (bijvoorbeeld in cel B6 als u B5 wilt refereren):

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))

Druk op Enter nadat u de formule hebt getypt. De huidige cel geeft onmiddellijk de waarde weer van de cel direct erboven, zoals hieronder wordt weergegeven:

Een schermafbeelding die de formule toont om te verwijzen naar de cel erboven in Excel met INDIRECT en ADRES

Als u nu ergens boven de formulecel een nieuwe rij invoegt, wordt de formule automatisch bijgewerkt en toont altijd de waarde van de nieuwe cel erboven. Zo blijven uw formules altijd actueel, ongeacht of u rijen invoegt of verwijdert. Bekijk de volgende schermafbeelding ter referentie:

Een schermafbeelding die laat zien dat de juiste celverwijzing behouden blijft na het invoegen van een rij in Excel

Uitleg van parameters en tips:

  • Deze formule haalt de waarde op uit de cel direct boven de huidige formulecel – dus wanneer u deze in B6 gebruikt, verwijst deze altijd naar B5, zelfs als er rijen boven worden ingevoegd of verwijderd.
  • Als u deze formule in de eerste rij van uw gegevens gebruikt (bijvoorbeeld A1), probeert deze mogelijk gegevens op te halen uit een niet-bestaande rij, wat leidt tot een #REF!-fout. Voorkom dit door foutafhandeling toe te voegen, bijvoorbeeld met =IF(ROW()=1,"",INDIRECT(ADDRESS(ROW()-1,COLUMN()))), zodat in de eerste rij een lege waarde wordt weergegeven.
  • Houd er rekening mee dat INDIRECT een volatile functie is, dus bij zeer grote werkbladen kan overmatig gebruik de berekeningen vertragen.
  • Deze formule is ideaal als u een strikte koppeling met de rijlocatie wilt behouden, ongeacht wijzigingen in uw bladstructuur.

Probleemoplossing en samenvattende suggesties:
Als uw formule niet wordt bijgewerkt zoals verwacht na het invoegen of verwijderen van rijen, controleer dan of deze in de juiste cel is ingevoerd. Zorg er ook voor dat u geen absolute celverwijzingen gebruikt (zoals $A$1), want die zijn statisch. Als u #REF!-fouten tegenkomt in de eerste rij, overweeg dan een conditionele formule zoals eerder genoemd. Voor geavanceerde automatisering — of als u de waarde wilt kopiëren in plaats van alleen te verwijzen — raadpleegt u de onderstaande oplossing met een VBA-eventgestuurde macro voor een dynamische, codegebaseerde aanpak.


pijl blauw rechts bubbel Werk de celwaarde automatisch bij vanuit de cel erboven met behulp van een VBA-eventgestuurde macro (altijd dynamisch)

Als u een oplossing zoekt waarbij de celwaarde automatisch en altijd wordt bijgewerkt om overeen te komen met de cel erboven – ongeacht het invoegen of verwijderen van rijen – en u dit gedrag wilt beheren zonder formules te kopiëren, dan is een eventgestuurde VBA-macro de ideale keuze. Deze aanpak werkt perfect voor gebruikers die comfortabel zijn met het inschakelen van macro’s en stelt u in staat dynamische updates te realiseren: telkens wanneer u een specifieke cel of een bereik selecteert of een waarde wijzigt, past de macro direct de doelcel aan zodat deze exact dezelfde waarde krijgt als de cel erboven. Zo blijft uw gegevensinvoer consistent, hoe uw werkblad ook verandert. Dit is vooral handig in sjablonen waarin elke nieuwe rij automatisch een vast patroon of standaardwaarde moet overnemen.

Zo stelt u dit in met behulp van het Worksheet_Change-event:

1. Klik met de rechtermuisknop op het werkbladtabblad waar u deze functionaliteit wilt en selecteer Code weergeven. De Microsoft Visual Basic for Applications-editor opent direct naar de juiste werkbladmodule.

2.Kopieer en plak de volgende VBA-code in het venster van de werkbladmodule:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim WatchRange As Range
    On Error Resume Next
    ' Set the range you want to monitor (for example, B2:B100)
    Set WatchRange = Intersect(Target, Me.Range("B2:B100"))
    
    If Not WatchRange Is Nothing Then
        Application.EnableEvents = False
        Dim cell As Range
        
        For Each cell In WatchRange
            ' Avoid the first row, or adjust as needed
            If cell.Row > 1 Then
                cell.Value = Me.Cells(cell.Row - 1, cell.Column).Value
            End If
        Next cell
        
        Application.EnableEvents = True
    End If
End Sub

Opmerkingen bij parameters: Vervang "B2:B100" in Me.Range("B2:B100")door het daadwerkelijke bereik waarin u dit gedrag wilt toepassen (u kunt dit instellen op een volledige kolom, bijvoorbeeld)"B:B", maar een smaller bereik verbetert de prestaties en voorkomt onbedoelde overschrijvingen).

3. Sluit de VBA-editor. Vanaf nu worden alle cellen binnen uw beperkte bereik automatisch bijgewerkt zodra een cel wordt gewijzigd, ingevoegd of het werkblad wordt vernieuwd: ze tonen dan de waarde van de cel er direct boven. Voegt u bijvoorbeeld een rij in op rij 5, dan nemen alle bewaakte cellen in kolom B vanaf dat punt automatisch de waarde over van de cel direct boven hun nieuwe positie.

  • Wees voorzichtig: deze code overschrijft de handmatig ingevoerde waarden binnen het bewaakte bereik. Gebruik met zorg als u formulecellen heeft of de oorspronkelijke invoer wilt behouden.
  • Als u deze VBA-macro in de toekomst in uw werkmap wilt blijven gebruiken, sla het bestand dan op als een macro-inschakelbare werkmap (.xlsm).
  • De eventcode werkt alleen in de werkbladmodule waarin de macro is geplakt (niet in alle bladen, tenzij de code aan elke afzonderlijke bladmodule wordt toegevoegd).
  • Als u de update wilt laten plaatsvinden bij het selecteren van een cel in plaats van bij het wijzigen van een waarde, kunt u Worksheet_SelectionChange gebruiken met een vergelijkbare logica.

Probleemoplossing en samenvattende suggesties:
Als het VBA-script niet lijkt te werken na het kopiëren, controleer dan of macro’s zijn ingeschakeld in uw werkmap en of u de code in de juiste bladmodule hebt geplakt (niet in een standaardmodule). Als u fouten krijgt of Excel vastloopt, controleer dan of Application.EnableEvents is ingesteld op False vóór uw geautomatiseerde celwijzigingen en op True daarna om recursieve lussen te voorkomen. Overweeg aangepaste scripts voor andere geavanceerde gedragingen of fijnere controle, gebaseerd op uw gegevensstructuur.


Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

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.

ExcelWordOutlookTabsPowerPoint
  • 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