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

Forumthread: Leerzellen mit Wert darunter auffüllen

Leerzellen mit Wert darunter auffüllen
25.06.2014 00:26:53
Vigo
Hallo zusammen!
Ich habe da ein Problem und habe bisher keinen Ansatz gefunden wie es zu lösen wäre.
Ich hab in einer Spalte verschiedene Zahlen untereinander stehen. Zwischen den Zahlen können sich jedoch beliebig viele Leerzellen befinden.
Ich würde gerne die Leerzellen mit der Zahl füllen, die als nächsten in der Spalte darunter steht. Hier ein kleines Beispiel wie ich das meine. Rechts meine Ist- Situation und links davon wie es mal aussehen soll.
AA
11
22
2
22
8
8
88
1
1
1
1
1
1
11
Die Spalte kann dabei eine variable Länge annehmen.
Ist das noch mit einer Formel machbar? Wenn möglich ohne Hilfsspalte. Weil ich das etwas bezweifele (Umsetzung durch eine Formel), versuch ich mit meinen ausgeprägten VBA- Künsten ein Makro zu basteln und werde mich morgen wieder melden.
Ich würde mich dennoch über Tipps freuen!
Viele Grüße, Vigo

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzellen mit Wert darunter auffüllen
25.06.2014 01:03:31
Daniel
Hi
- ganze Spalte markieren
- Selektion auf Leerzelle einschränken mit Start - Bearbeiten - Suchen und Auswählen Inhalte - Leerzellen
- in die aktive Zelle die Formel eingeben: = wert aus Zelle untendrunter, als wenn A1 die Aktive Zelle ist, dann =A2
- Eingabe mit STRG-ENTER abschließen, die Formel wird in alle markierten Zellen übernommen.
- Spalten markieren, kopieren und an gleicher Stelle als Wert einfügen.
Für die Umsetzung als Makro einfach den Recorder mitlaufen lassen.
Gruß Daniel

Anzeige
AW: Leerzellen mit Wert darunter auffüllen
25.06.2014 01:11:30
Michael
Hallo Vigo,
So weit der händische Weg, sofern Du die Daten in ein und derselben Spalte haben möchtest.
Wenn beide nebeneinander stehen, wie oben im Beispiel, dann kannst Du die linke aus der rechten erzeugen, indem Du =WENN(B2"";B2;B3) in Zelle A2 schreibst und nach unten kopierst.
Schöne Grüße,
Michael

Anzeige
Das hast du nicht am Bsp ausprobiert, ...
25.06.2014 02:24:31
Luc:-?
Michael,
denn deine Fml liefert dann viele Nullen! Richtiger wäre wohl folgd 1zellige MatrixFml, Vigo:
ZFml in B2[:B15]:{=WENN(A2"";A2;INDEX(A3:A$16;VERGLEICH("?*";""&A3:A$16;0)))}
Morrn, Luc :-?
Anmerkung für neopa & robert: Mit meiner iE befindlichen UDF ChooseIf würde sich diese Fml etwas verkürzen, da VERGLEICH entfällt:
ZFml in B2[:B15]:=WENN(A2"";A2;INDEX(ChooseIf(A3:A$15;;;"");1;;1))
Leider dauert's wieder mal noch etwas länger, weil sich die Nebenarbeit an RepOpt hinzieht und jetzt noch eine umfangreiche Org+Design-Arbeit ins Haus steht. Gruß!

Anzeige
...zumindest nicht gründlich
25.06.2014 03:32:36
Michael
Ups! Hab mich leicht vertan.
Aber damit geht's: =WENN(B3"";B3;A4)
Gruß,
Michael

und noch ein Fehler...
25.06.2014 03:43:00
Michael
Die Formel =WENN(B3"";B3;A4) gehört dann natürlich in A3, nicht in A2.
Gruß,
Michael

Ich habe das Gefühl, dass du von falschen ...
25.06.2014 14:52:12
falschen
…oder zumindest nicht den gleichen Voraussetzungen ausgehst wie ich, Michael,
aber nun ist's ja eh' egal… ;-]
Gruß, Luc :-?

Anzeige
AW: Leerzellen mit Wert darunter auffüllen
25.06.2014 08:14:44
Vigo
Guten Morgen zusammen!
Vielen, vielen Dank für eure regen Vorschläge!
Ich hab Daniels Vorschlag mit einem Code umgesetzt.
Das kam dann durch die Optimierung des Codes, welchen ich mit dem Makrorekorder aufgenommen hab, raus:
With wksHinter
.Range(.Cells(2, 4), .Cells(lest, 4)).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[1]C"
End With
Nicht zu glauben, dass so ein Dreizeiler auch noch funktioniert!
Nochmals vielen Dank!
Ich bin gestern noch voll verzweifelt!
Meine Heransgehensweise war dann irgendetwas mit finde eine Leerzelle in der Spalte, schau in den darunterliegenden Zellen, ob ein Wert hinterlegt ist und übernehm diesen dann. So der Gedanke...
Ich bin dann aber daran hängen geblieben, dass ich mit offset(x,0) arbeiten wollte, aber es sich ja unterschiedlich viele Leerzellen zwischen den einzelnen Werten befinden können... Und und und...
Ich muss glaub ich ernsthaft an meiner Denkweise arbeiten und mal auf "einfach" umstellen^^
Viele Grüße, Vigo

Anzeige
kleiner Vorschlag noch ...
25.06.2014 08:55:39
Matthias
Hallo Vigo
Damit dann aber auch die Fomeln in den (vorher) leeren Zellen wieder verschwinden
und nur die Werte in den Zellen stehen, kannst Du den Code noch etwas anpassen.
 On Error Resume Next
With wksHinter.Range(Cells(2, 4), Cells(lest, 4))
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[1]C"
.Value = .Value
End With
wobei sichergestellt sein sollte das Deine Variable lest auch einen gültigen Werte hat
On Error Resume Next ist in diesem Fall sinnvoll, wenn es keine leeren Zellen gibt!
Sonst würde VBA mit eine Fehlermeldung aussteigen.
Gruß Matthias

Anzeige
und nochmal etwas gekürzt ...
25.06.2014 09:29:49
Matthias
Hallo
 On Error Resume Next
With wksHinter.Range(Cells(2, 4), Cells(lest, 4))
.SpecialCells(xlCellTypeBlanks).Formula = "=R[1]C"
End With

Gruß Matthias

AW: und nochmal etwas gekürzt ...
25.06.2014 09:47:04
Vigo
Hallo Matthias!
Danke für deinen Hinweis! :)
Ich hab bisher zwar keine Fehlermeldung bekommen (eig sollten immer ein paar Leerzellen vorhanden sein), aber da sich die Daten ja ständig ändern, kann das wirklich mal der Fall sein.
Dann ist das gut, wenn man den Fehler frühzeitig erkennt und umgeht!
Viele Grüße, Vigo
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Leerzellen mit Wert darunter auffüllen in Excel


Schritt-für-Schritt-Anleitung

Um leere Zellen in Excel mit dem Wert aus der nächsten Zelle darunter zu füllen, gehe wie folgt vor:

  1. Markiere die gesamte Spalte, in der sich die leeren Zellen befinden.
  2. Gehe zu Start > Bearbeiten > Suchen und Auswählen > Leerzellen.
  3. In der aktiven Zelle gib die folgende Formel ein (angenommen, die aktive Zelle ist A1):
    =A2
  4. Schließe die Eingabe mit STRG + ENTER ab. Diese Formel wird nun in alle markierten Zellen übernommen.
  5. Markiere die Spalte erneut, kopiere sie und füge sie an der gleichen Stelle als Wert ein (rechte Maustaste > Inhalte einfügen > Werte).

Damit hast Du die leeren Zellen mit dem Wert aus den darunterliegenden Zellen gefüllt.


Häufige Fehler und Lösungen

  • Fehler: Viele Nullen erscheinen in den leeren Zellen.

    • Lösung: Stelle sicher, dass Du die Formel korrekt anwendest. Eine Alternative wäre, die Formel =WENN(B3<>"";B3;A4) zu verwenden, um zu überprüfen, ob die Zelle leer ist, bevor der Wert übernommen wird.
  • Fehler: VBA gibt eine Fehlermeldung aus, wenn keine leeren Zellen vorhanden sind.

    • Lösung: Nutze On Error Resume Next im VBA-Code, um diese Fehlermeldung zu vermeiden.

Alternative Methoden

  1. VBA-Makro: Hier ist ein schneller VBA-Code, um leere Zellen automatisch mit dem Wert darunter zu füllen:

    With wksHinter
       .Range(.Cells(2, 4), .Cells(lest, 4)).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[1]C"
       .Value = .Value
    End With

    Dieser Code füllt die leeren Zellen und ersetzt die Formeln durch die Werte.

  2. Formel: Du kannst auch die Matrixformel {=WENN(A2<>"";A2;INDEX(A3:A$16;VERGLEICH("?*";""&A3:A$16;0))} verwenden, um leere Zellen mit dem nächsten Wert darunter zu füllen.


Praktische Beispiele

Angenommen, Du hast folgende Werte in Spalte A:

A1: 11
A2: 
A3: 22
A4: 
A5: 
A6: 8
A7: 
A8: 
A9: 88

Nach Anwendung der oben beschriebenen Schritte sollte die Spalte A so aussehen:

A1: 11
A2: 22
A3: 22
A4: 22
A5: 8
A6: 8
A7: 88
A8: 88

Tipps für Profis

  • Nutze die Funktion SVERWEIS oder INDEX und VERGLEICH, um komplexere Daten zu verarbeiten.
  • Wenn Du häufig mit leeren Zellen arbeitest, erstelle eine benutzerdefinierte Funktion (UDF) in VBA, um den Prozess zu automatisieren.
  • Überlege, ob Du die Datenüberprüfung verwendest, um sicherzustellen, dass keine leeren Zellen entstehen, bevor Du mit der Arbeit beginnst.

FAQ: Häufige Fragen

1. Wie kann ich alle leeren Zellen in einer Tabelle füllen? Du kannst die oben genannten Schritte verwenden, um leere Zellen in einer gesamten Tabelle zu markieren und zu füllen.

2. Was passiert, wenn ich leere Zellen mit 0 füllen möchte? Verwende die Formel =WENN(A1="";0;A1) oder markiere die leeren Zellen und fülle sie manuell mit 0.

3. Welche Excel-Version benötige ich für diese Funktionen? Die beschriebenen Methoden sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2013, 2016, 2019 und Excel 365.

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