Zum Hauptinhalt springen

Kutools für Office — Eine Suite. Fünf Tools. Erledigen Sie mehr.

Wie erhält man immer den Wert aus der Zelle darüber, wenn man eine Zeile in Excel einfügt oder löscht?

Author Xiaoyang Last modified

In Excel ist das Referenzieren des Werts der direkt darüberliegenden Zelle eine häufige Anforderung, um laufende Summen zu erstellen, monatliche Vergleiche durchzuführen oder einfach die Datenkonsistenz aufrechtzuerhalten, während sich Ihr Arbeitsblatt weiterentwickelt. Normalerweise können Sie die Zelle darüber mit einer einfachen Formel wie =D5 referenzieren, aber diese Lösung hat ihre Grenzen: Wenn Sie Zeilen einfügen oder löschen, wird Ihre Formel möglicherweise nicht weiterhin die neue „darüberliegende“ Zelle referenzieren, wie Sie es erwarten. Wie unten veranschaulicht, kann das Einfügen einer neuen Zeile darüber die Kontinuität brechen oder die Referenz mit der ursprünglichen Zelle verknüpft bleiben, anstatt sich auf die neue Position anzupassen.

A screenshot showing how the reference to the above cell breaks after inserting a row in Excel

Um dieses Problem zu lösen und sicherzustellen, dass Ihre Formel immer den Wert aus der unmittelbar darüberliegenden Zelle abruft, selbst nachdem Sie Zeilen eingefügt oder gelöscht haben, gibt es mehrere Ansätze, die Sie verwenden können. Jede Methode bringt unterschiedliche Kompromisse mit sich, abhängig von der Komplexität Ihres Arbeitsblatts, ob Sie ein automatisches Update oder eine manuelle Formel wünschen und ob Sie sich mit der Verwendung von VBA/Makros wohl fühlen.

Inhaltsverzeichnis:


arrow blue right bubble Den Wert aus der Zelle darüber immer erhalten, wenn Zeilen mit einer Formel eingefügt oder gelöscht werden

Um dieses Problem auf einfache Weise zu lösen, die keine Makros oder komplexe Einrichtung erfordert, können Sie eine Formel verwenden, die dynamisch auf die Zelle darüber verweist, egal wie sich Ihre Zeilen ändern. Die Formel verwendet die Funktionen INDIREKT und ADRESSE von Excel, sodass die Referenzierung immer die Zelle „überwacht“, auch wenn die Zeilen aufgrund von Einfügungen oder Löschungen verschoben werden. Dies macht sie besonders geeignet für Arbeitsblätter, in denen Sie die Zeilenstruktur häufig ändern, wie zum Beispiel das Hinzufügen neuer Daten am Anfang oder in der Mitte einer Liste.

Geben Sie die folgende Formel direkt in die Zelle ein, in der Sie immer den Wert aus der Zelle darüber erhalten möchten (zum Beispiel in Zelle B6, wenn Sie B5 referenzieren möchten):

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

Drücken Sie die Eingabetaste, nachdem Sie die Formel eingegeben haben. Die aktuelle Zelle zeigt sofort den Wert der unmittelbar darüberliegenden Zelle an, wie unten gezeigt:

A screenshot showing the formula to reference the above cell in Excel using INDIRECT and ADDRESS

Wenn Sie nun eine neue Zeile über der Zelle mit der Referenzformel einfügen, wird die Formel neu berechnet und zeigt immer den Wert aus der neuen Zelle darüber an. Auf diese Weise sind Ihre Formeln immer auf dem neuesten Stand, unabhängig von Zeileneinfügungen oder -löschungen. Sehen Sie sich den folgenden Screenshot zur Referenz an:

A screenshot showing the correct cell reference maintained after inserting a row in Excel

Parametererklärung und Tipps:

  • Diese Formel zieht den Wert der direkt darüber liegenden Zelle – so wird bei Verwendung in B6 immer B5 widergespiegelt, auch wenn Zeilen darüber eingefügt oder gelöscht werden.
  • Wenn Sie diese Formel in der ersten Zeile Ihrer Daten verwenden (z. B. A1), versucht sie möglicherweise, Daten aus einer nicht vorhandenen Zeile zu ziehen und gibt einen #BEZUG!-Fehler zurück. Sie können dies vermeiden, indem Sie Fehlerbehandlung hinzufügen, zum Beispiel mit =WENN(ZEILE()=1;"";INDIREKT(ADRESSE(ZEILE()-1;SPALTE()))) um in der ersten Zeile eine leere Zelle anzuzeigen.
  • Beachten Sie, dass INDIREKT eine volatile Funktion ist, daher kann übermäßige Verwendung in extrem großen Arbeitsblättern die Berechnungen verlangsamen.
  • Die Verwendung dieser Formel funktioniert gut, wenn Sie eine strikte Beziehung zum Zeilenort beibehalten möchten, egal wie sich Ihre Blattstruktur ändert.

Problemlösung und Zusammenfassungsvorschläge:
Wenn Ihre Formel nach dem Einfügen oder Löschen von Zeilen nicht wie erwartet aktualisiert wird, überprüfen Sie, ob sie in der vorgesehenen Zelle eingegeben wurde. Stellen Sie außerdem sicher, dass Sie keine absoluten Zellreferenzen (wie $A$1) verwenden, die statisch sind. Wenn Sie #REF! Fehler in der ersten Zeile feststellen, sollten Sie eine bedingte Formel wie zuvor erwähnt verwenden. Für fortgeschrittene Automatisierung oder wenn Sie den Wert kopieren und nicht nur referenzieren möchten, sehen Sie die Lösung mit dem ereignisgesteuerten VBA-Makro unten für einen dynamischen, codebasierten Ansatz.


arrow blue right bubbleZellwert automatisch aus der Zelle darüber aktualisieren mit einem ereignisgesteuerten VBA-Makro (immer dynamisch)

Wenn Sie eine Lösung benötigen, bei der der Zellenwert immer automatisch auf den Wert der Zelle darüber aktualisiert wird, unabhängig davon, ob Zeilen eingefügt oder gelöscht werden – und Sie möchten dieses Verhalten ohne das Kopieren von Formeln verwalten – dann ist die Verwendung eines ereignisgesteuerten VBA-Makros effektiv. Diese Methode ist ideal für Benutzer, die sich mit dem Aktivieren von Makros auskennen, und ermöglicht eine dynamische Aktualisierung: Wann immer Sie eine bestimmte Zelle oder einen bestimmten Bereich auswählen oder einen Wert ändern, kann das Makro die Zielzelle sofort so setzen, dass sie immer gleich dem Wert darüber ist, was die Dateneingabe konsistent macht, egal wie sich Ihr Arbeitsblatt ändert. Dies ist besonders nützlich in Vorlagen, wo Sie ein festes Muster oder eine Standardwertkonfiguration in jeder neuen Zeile wünschen.

So richten Sie dies mit dem Worksheet_Change-Ereignis ein:

1. Klicken Sie mit der rechten Maustaste auf den Arbeitsblatt-Reiter, wo Sie diese Funktionalität möchten, und wählen Sie Code anzeigen. Der Microsoft Visual Basic for Applications-Editor öffnet sich im richtigen Arbeitsblattmodul.

2. Kopieren und fügen Sie den folgenden VBA-Code in das Fenster des Arbeitsblattmoduls ein:

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

Parameterhinweise: Ersetzen Sie "B2:B100" in Me.Range("B2:B100") durch den tatsächlichen Bereich, in dem Sie dieses Verhalten wünschen (Sie können es auf eine gesamte Spalte setzen, z. B. "B:B", aber das Einschränken des Bereichs verbessert die Leistung und vermeidet unbeabsichtigte Überschreibungen).

3. Schließen Sie den VBA-Editor. Nun wird Excel jedes Mal, wenn eine Zelle geändert, eingefügt oder das Arbeitsblatt innerhalb Ihres angegebenen Bereichs aktualisiert wird, automatisch die Zellen aktualisieren, um den Wert darüber widerzuspiegeln. Zum Beispiel, wenn Sie eine Zeile in Zeile 5 einfügen, werden alle überwachten Zellen in Spalte B ab diesem Punkt den Wert aus der Zelle direkt über ihrer neuen Position übernehmen.

  • Seien Sie vorsichtig: Dieser Code überschreibt manuell eingegebene Werte innerhalb des überwachten Bereichs. Verwenden Sie ihn mit Bedacht, wenn Sie Formelzellen haben oder ursprüngliche Einträge erhalten möchten.
  • Wenn Sie dieses VBA-Makro in Zukunft in der Arbeitsmappe weiterhin verwenden möchten, müssen Sie die Datei als makrofähige Arbeitsmappe (.xlsm) speichern.
  • Das Ereigniscode funktioniert nur im Arbeitsblattmodul, in das das Makro eingefügt wurde (nicht über alle Blätter, es sei denn, Code wird in jedes Blattmodul eingefügt).
  • Wenn Sie möchten, dass das Update beim Auswählen einer Zelle stattfindet, anstatt beim Ändern eines Werts, können Sie Worksheet_SelectionChange und eine ähnliche Logik verwenden.

Problemlösung und Zusammenfassungsvorschläge:
Wenn das VBA-Skript nach dem Kopieren nicht zu funktionieren scheint, stellen Sie sicher, dass Makros in Ihrer Arbeitsmappe aktiviert sind und dass Sie den Code in das richtige Blattmodul (nicht in ein Standardmodul) eingefügt haben. Wenn Sie Fehler erhalten oder Excel einfriert, überprüfen Sie, dass Application.EnableEvents vor Ihren automatisierten Zellenänderungen auf False gesetzt ist und danach wieder auf True zurückgesetzt wird, um rekursive Schleifen zu vermeiden. Für andere fortgeschrittene Verhaltensweisen oder feinere Kontrolle sollten Sie benutzerdefinierte Skripte basierend auf Ihrer Datenstruktur in Betracht ziehen.


Die besten Produktivitätstools für das Büro

🤖 Kutools AI Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung |  Code generieren  |  Benutzerdefinierte Formeln erstellen |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Doppelte suchen, hervorheben oder markieren | Leere Zeilen löschen | Spalten oder Zellen zusammenführen, ohne Daten zu verlieren | Runden...
Erweiterte SVERWEIS: SVERWEIS mit mehreren Kriterien | SVERWEIS für mehrere Werte | Mehrblatt-SVERWEIS | Fuzzy Match...
Erweiterte Dropdown-Liste: Dropdown-Liste schnell erstellen | Abhängige Dropdown-Liste | Mehrfachauswahl Dropdown-Liste...
Spaltenmanager: Eine bestimmte Anzahl an Spalten hinzufügen | Spalten verschieben | Sichtbarkeitsstatus versteckter Spalten umschalten | Bereiche & Spalten vergleichen...
Empfohlene Funktionen: Gitterfokus | Entwurfsansicht | Erweiterte Formelleiste | Arbeitsmappe & Arbeitsblatt-Manager | AutoText-Bibliothek | Datumsauswahl | Daten zusammenführen | Zellen verschlüsseln/entschlüsseln | E-Mail senden nach Liste | Super Filter | Spezialfilter (fett/kursiv/durchgestrichen filtern...) ...
Top15 Toolsets:12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...) |50+ Diagramm typen (Gantt-Diagramm, ...) |40+ praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...) |19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...) |12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...) |7 Konsolidierungs- & Aufteilungstools (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...) | ... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere!

Stärken Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und genießen Sie Effizienz wie nie zuvor. Kutools für Excel bietet mehr als300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt die Tab-Oberfläche in Office und macht Ihre Arbeit wesentlich einfacher

  • Aktivieren Sie die Tabulator-Bearbeitung und das Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Tabs innerhalb desselben Fensters, statt in neuen Einzelfenstern.
  • Steigert Ihre Produktivität um50 % und reduziert hunderte Mausklicks täglich!

Alle Kutools-Add-Ins. Ein Installationspaket

Das Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro und ist ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.

Excel Word Outlook Tabs PowerPoint
  • All-in-One-Paket — Add-Ins für Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Ein Installationspaket, eine Lizenz — in wenigen Minuten einsatzbereit (MSI-kompatibel)
  • Besser gemeinsam — optimierte Produktivität in allen Office-Anwendungen
  • 30 Tage kostenlos testen — keine Registrierung, keine Kreditkarte erforderlich
  • Bestes Preis-Leistungs-Verhältnis — günstiger als Einzelkauf der Add-Ins