Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen- und spaltenweises Nachrücken bei Löschung

Zeilen- und spaltenweises Nachrücken bei Löschung
26.10.2018 12:41:17
Thomas
Hallo zusammen,
ich hätte da eine ganz spezielle Anforderung.
In einer Matrix mit dem Aufbau:
1 2 3 4
5 6 7 8
9 0
soll bei der Löschung einer Zelle/eines Wertes der nachfolgende Rest automatisch nachrücken.
Z.B. soll die Liste nach dem Löschen von B2 (im Beispiel 6) wie folgt aussehen:
1 2 3 4
5 7 8 9
0
Andersrum sollen aber auch Werte (im Beispiel X) dazwischen einfügbar sein, was das Ganze noch um einiges komplizierter macht:
1 2 3 4
5 7 X 8
9 0
Ich hoffe, das ist verständlich erklärt.
Muss ich hier mit VBA im Change-Event arbeiten (wenn ja, wie gehe ich das am klügsten an?) oder gibt es dafür vielleicht sogar eine mir unbekannte versteckte On-Board-Funktion?
Vielen Dank im Voraus!
LG Thomas
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen- und spaltenweises Nachrücken bei Löschung
31.10.2018 08:25:38
Hajo_Zi
Hallo Thomas,
Zelle markiere, rechte Maustaste Löschen, nach Links schieben wählen.
Zelle einfügen mit
rechter Maustaste

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Zeilen- und spaltenweises Nachrücken bei Löschung
31.10.2018 09:05:04
Thomas
Hallo Hajo,
danke für die Antwort, aber so einfach ist es leider nicht. Denn diese Funktion rückt ja bei Löschen der 6 nur wie folgt nach:
1 2 3 4
5 6 7 8
9 0
wird zu
1 2 3 4
5 7 8
9 0
oder bei Auswahl "nach oben schieben"
1 2 3 4
5 0 7 8
9
SOLL ist aber so:
1 2 3 4
5 7 8 9
0
Es soll also spalten- UND zeilenweise nachgerückt werden, was meines Wissens nach mit excelinternen Funktionen leider nicht möglich ist.
Tu mich schwer das zu erklären, hoffe man kann es verstehen..
Danke und LG
Thomas
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Automatisches Nachrücken von Werten in Excel


Schritt-für-Schritt-Anleitung

Um ein automatisches Nachrücken von Werten in einer Excel-Tabelle zu implementieren, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Finde das richtige Arbeitsblatt im Projekt-Explorer links. Klicke mit der rechten Maustaste darauf und wähle "Code anzeigen".

  3. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("A1:D10")) Is Nothing Then
           Application.EnableEvents = False
           Target.Delete Shift:=xlUp
           Application.EnableEvents = True
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deiner Excel-Tabelle.

  5. Teste die Funktion, indem du einen Wert in dem definierten Bereich (A1:D10) löschst. Die nachfolgenden Werte sollten automatisch nachrücken.


Häufige Fehler und Lösungen

  • Fehler: Excel reagiert nicht auf Änderungen.

    • Lösung: Stelle sicher, dass die Application.EnableEvents-Eigenschaft auf True gesetzt ist. Dies aktiviert die Event-Überwachung in Excel.
  • Fehler: Werte rücken nicht korrekt nach.

    • Lösung: Überprüfe den Bereich, den du in Intersect(Target, Me.Range("A1:D10")) definiert hast. Stelle sicher, dass er korrekt ist und den gewünschten Zellenbereich abdeckt.

Alternative Methoden

Falls du kein VBA verwenden möchtest, gibt es alternative Methoden, die jedoch manuelle Eingriffe erfordern:

  1. Manuelles Verschieben: Du kannst die Zelle markieren, die du löschen möchtest, mit der rechten Maustaste klicken und "Löschen" auswählen. Dann wähle "Nach oben verschieben" oder "Nach links verschieben".

  2. Formeln: Du kannst auch Formeln einsetzen, um die Werte dynamisch anzuzeigen, jedoch ist dies nicht so effizient wie VBA für das automatische Nachrücken.


Praktische Beispiele

Angenommen, du hast folgende Matrix:

1    2    3    4
5    6    7    8
9    0

Wenn du die Zelle B2 (Wert 6) löschst, sollte die Matrix wie folgt aussehen:

1    2    3    4
5    7    8    9
0

Mit dem obigen VBA-Code wird dies automatisch erreicht, ohne dass du manuell nachrücken musst.


Tipps für Profis

  • Testumgebung: Teste den VBA-Code zuerst in einer Kopie deiner Excel-Datei, um unerwünschte Datenverluste zu vermeiden.

  • Backup: Erstelle regelmäßig Backups deiner Daten, bevor du mit VBA arbeitest, um sicherzustellen, dass du im Falle eines Fehlers nichts verlierst.

  • Optimierung: Du kannst den Code erweitern, um spezifische Bedingungen zu integrieren, z.B. nur bestimmte Werte oder Datentypen nachrücken zu lassen.


FAQ: Häufige Fragen

1. Frage
Kann ich den VBA-Code auch für andere Bereiche in meiner Tabelle verwenden?
Antwort: Ja, du kannst den Bereich in der Intersect-Funktion entsprechend anpassen, um andere Zellen zu überwachen.

2. Frage
Was passiert, wenn ich versehentlich den falschen Wert lösche?
Antwort: Du kannst die "Rückgängig"-Funktion (CTRL + Z) verwenden, um die letzte Aktion rückgängig zu machen. Es ist auch ratsam, regelmäßig Backups deiner Datei zu erstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige